Почему постоянный элемент данных класса должен быть инициализирован в конструкторе?
Я хочу знать, почему константный член данных класса должен быть инициализирован в конструкторе и почему не где-то еще? Какое влияние это делает, а не делает?
Я также вижу, что толькоstatic constant integral data может быть инициализирован внутри класса, за исключением того, что не члены данных могут быть инициализированы внутри класса.
for eg:- Suppose below is my class declaration
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();
};
And the constructor is defined as mentioned below:-
Edited Section: As previous constructor definition example was wrong
A::A():a(1),b(9){}
Пожалуйста, поправьте меня, если я ошибаюсь. Заранее спасибо.