A-A+

以于下面定义的类MyClass 在函数f()中将对象成员n的值修改为50的语句应该是()。

2022-08-06 04:14:56 问答库 阅读 175 次

问题详情

以于下面定义的类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请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:中将,语句