有如下类定义和变量定义: class A{ public: A(){data:0;} A(int x){data=x;} ~A(){} void outData(){cout

admin2019-08-23  21

问题 有如下类定义和变量定义:
class A{
public:
A(){data:0;}
A(int x){data=x;}
~A(){}
void outData(){cout<int getData(int n)const{return data *n;}
private:
int data;
};
A a(5);
const A b(8);
下列函数调用中错误的是(    )。

选项 A、a.outData();
B、b.outData();
C、a.getData(10);
D、b.getData(10);

答案B

解析 常对象是指对象的所有成员的值都不能被修改,常成员函数是指只能引用本类的数据成员,而不能修改它们的成员函数;常成员函数可以被常对象调用,也可以被普通对象调用,而普通成员函数只能被普通对象调用,不能被常对象调用,题意中对象a是普通对象,b是常对象,outData()是普通成员函数,getData()是常成员函数,所以选项B中通过常对象b调用普通成员函数outData()是错误的,选项A、C、D都正确;本题答案为B。
转载请注明原文地址:https://kaotiyun.com/show/9J8p777K
0

最新回复(0)