类中数据成员的初始化
除static const修饰的数据成员可在定义时初始化外,其他数据成员不可以在定义时初始化,一般放到成员初始化列表或成员函数中进行初始化。
如下面编译出错:
class B
{
int a = 1;
public:
};
类中成员数据也不能用extern auto register限定其存储类型。
因为类只是一种自定义数据类型,编译时并不给分配存储空间,也不给初始化。
下面编译仍出错:
class B
{
static int a = 1;
};
class B
{
const int a = 1;
};
下面是正确的:
class B
{
static const int a = 1;
};