问题
单项选择题
有如下类定义: class Test { public: Test(){a=0;C=0;t //① int f(int A) const{this->a=a;} //② static int g( ){return a;} //③ void h(int B) {Test::b=b;}; //④ private: int a; static int b; const int c; }; int Test::b=0: 在标注号码的行中,能被正确编译的是
A.①
B.②
C.③
D.④
答案
参考答案:D
解析: 类的常变量一旦被定义就不能更改,所以选项A错。定义常成员函数不能更新对象的数据成员,也不能调用该类中的普通函数,更不能改变该类的数据成员的值。静态成员函数不能访问非静态数据成员。