以于下面定义的类MyClass, 在函数f()中将对象成员n的值修改为50的语句应该是( )。 class MyClass { public: MyClass (int x) { n=x;

admin2010-03-29  36

问题 以于下面定义的类MyClass, 在函数f()中将对象成员n的值修改为50的语句应该是(    )。    class MyClass    {    public:       MyClass (int x)       {          n=x;       }       void SetValue(int n1)       {          n=n1;       }    private:       int n;    };    int f()    {       MyClass *ptr = new MyClass(45);       ________________;    }

选项 A、MyClass(50)
B、SetValue (50)
C、ptr->SetValue(50)
D、ptr->n=50

答案4

解析 本题考核对象指针的使用。函数f()中,首先定义了一个对象指针ptr,并初始化指向申请的一块内存。在C++中,通过对象指针访问其成员,要用“->”符号,由此可知,选项A和B是错误的。对于选项D,由于变量n是MyClass类的私有成员,所以不能通过对象进行直接调用。因此选项D也是错误的。选项C中,采用了“->”符号调用MyClass类的公有成员函数SetValue(),并且传入的实参是50,都符合语法规定,所以能实现题目所要求的功能。故本题答案是C。
转载请注明原文地址:https://jikaoti.com/ti/CNW0FFFM
0

最新回复(0)