单选题
有如下类定义:
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. ④
A
B
C
D
【正确答案】
D
【答案解析】
[解析] 类的常变量一旦被定义就不能更改,所以选项A错。定义常成员函数不能更新对象的数据成员,也不能调用该类中的普通函数,更不能改变该类的数据成员的值。静态成员函数不能访问非静态数据成员。
提交答案
关闭