类MyClass的定义如下: class MyClass { public: MyClass( ){value=0;} SetVariable(int i){value=i;} private: int value

admin2010-12-16  32

问题 类MyClass的定义如下:    class MyClass    {    public:    MyClass( ){value=0;}    SetVariable(int i){value=i;}    private:    int value;    };    则对下列语句序列正确的描述是(    )。    MyClass*P,  my; p=&my;

选项 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)正确。
转载请注明原文地址:https://jikaoti.com/ti/IkL0FFFM
0

随机试题
最新回复(0)