Por que o membro de dados constante de uma classe precisa ser inicializado no construtor?
Eu quero saber porque membro de dados constante de uma classe precisa ser inicializado no construtor e porque não em outro lugar? Qual é o impacto de fazê-lo e não fazê-lo?
Eu também vejo que apenasdados integrais constantes estáticos pode ser inicializado dentro da classe que não seja o non dos membros de dados podem ser inicializados dentro da classe.
por exemplo: - Suponha abaixo a minha declaração de classe
class A{
int a; // This we can initialize at the constructor or we can set this member by calling "vSet" member function
const int b;
static const int c = 10; //This works fine
public:
A();
~A();
void vSet(int a);
int iAdd();
void vDisplay();
};
E o construtor é definido como mencionado abaixo:
Seção Editada: Como o exemplo anterior de definição de construtor estava errado
A::A():a(1),b(9){}
Por favor corrija-me se eu estiver errado. Desde já, obrigado.