选择题
类MyClass的定义如下:
class MyClass
{
public:
MyClass(){value=0;}
SetVariable(int i){value=i;}
private:
int value;
};
则对下列语句序列正确的描述是______。
A、
语句p=&my;是把对象my赋值给指针变量p
B、
语句MyClass*p,my;会调用两次类MyClass的构造函数
C、
对语句*P.SetVariable(5)的调用是正确的
D、
语句p->SetVariable(5)与语句my.SetVariable(5)等价
【正确答案】
D
【答案解析】
选项A,语句p=&my;是把对象my的地址值赋值给指针变量P;选项B,语句MyClass*p,my;中由于p只是一个指向对象的指针,因此定义指针p不调用构造函数,所以此语句只调用一次构造函数:对成员函数的引用可以通过两种形式:指针->成员函数(形参表),或者对象名,成语函数名(形参表),故选项C错误,选项D正确。
提交答案
关闭