类的const数据成员既不能和static成员一样直接给出值或者在类体外初始化,也不能在构造函数中初始化。
初始化const数据成员的唯一机会是在构造函数的初始化列表中。
如下所示:
#include <iostream>
using namespace std;
class A{
public:
A():b(10){//只能在构造函数的初始化列表中对其进行初始化,其他地方均办不到
a = c =1;
}
int a;
const int b;
mutable int c;
void show1(){cout << a << b << c << endl;}
void show2()const{c++; cout << c << endl;}
void show3()const{cout << c << endl;}
};
int main(){
cout << "ok" << endl;
A a;
a.show2();
a.show3();
return 1;
}
本文介绍了C++中const成员变量的正确初始化方法,即必须通过构造函数的初始化列表进行初始化,并提供了一个示例程序来展示如何实现这一过程。
632

被折叠的 条评论
为什么被折叠?



