有如下程序: #include<iostream> using namespace std; class MyClass{ public: MyClass(int x):val(x){} void Set(int x){Val=x;} void Print

admin2015-11-24  30

问题 有如下程序:
#include<iostream>
using namespace std;
class MyClass{
public:
MyClass(int x):val(x){}
void Set(int x){Val=x;}
void Print()const{cout<<"val="<<Val<<’\t’;}
private:
int val;
};
int main(){
const MyClass obj1(10);
MyClass obj2(20);
obj1.Print();//语句1
obj2.Print();//语句2
obj1.Set(20);//语句3
obj2.Set(30);//语句4
return 0;
}
其主函数中错误的语句是(    )。

选项 A、语句1
B、语句2
C、语句3
D、语句4

答案C

解析 在创建类对象obj1(10)时,前面有关键字const,所以当语句3调用obi1的成员函数试图修改其私有成员的数值的时候,会编译出错。
转载请注明原文地址:https://jikaoti.com/ti/rpE0FFFM
0

最新回复(0)