类中数据成员的初始化

除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;   
};

posted @ 2013-06-04 22:28  helloweworld  阅读(436)  评论(0编辑  收藏  举报