C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员

来源:互联网 发布:免费数据库 编辑:程序博客网 时间:2024/05/22 01:56

有关const成员、static成员、const static成员的初始化:

1、const成员:只能在构造函数后的初始化列表中初始化

2、static成员:初始化在类外,且不加static修饰

3、const static成员:类只有唯一一份拷贝,且数值不能改变。因此,可以在类中声明处初始化,也可以像static在类外初始化

#include <iostream>  using std::cout;  using std::endl;  class base  {  public:      base(int x=8):a(x){};//const成员在构造函数初始化      const int a;      static int b;      const static int c=9;//const static成员在类内初始化  };  int base::b=9;//static成员在类外初始化,可以修改  //const int base::c=10;//也可以像static在类外初始化  int main()  {      base obj;      cout<<obj.a<<endl;      cout<<base::b<<endl;      cout<<base::c<<endl;  }  
0 0