类中的const变量必须在构造函数中初始化并且得这样
class a{
public:
a(int i):value(i){}//唯一正确的初始化方式
a(int i){value = i;}//错误的初始化方式 如果不在构造函数里面初始化,就更错了
void go(){}
private:
const int value;
};
class b{
63 public:
64 b(int i):value(i){}
65 void go(){value ++;}
66 void print()const{cout << "value " << value << endl;}
67 private:
68 int value;
69 };
void f4(){
71 const b b1(100);
72 //b1.go();这个函数不能被调用
73 b1.print();
74 }
此时b1是一个const变量,所以不能调用非const类型的成员函数