类的常量成员的初始化

时间:2023-01-20 20:01:47
示例:
class A{
const int Size = 0;
}



错误:常量成员不能在类中声明的地方初始化,因为此时类并没有进行实例化(创建对象),因此并没有分配内存,不能进行初始化。

类的成员的初始化:
1,非static非const成员变量,必须在构造函数中进行初始化;
2,static成员变量,必须在类的外面进行初始化;
3,const成员变量,必须在类的构造函数的初始化列表中初始化;
4,static const成员变量,可以在类的内部声明时初始化。

上述示例应该写成:
class A{
public:
const int Size;
A() : Size(0){}
}