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

admin2020-07-30  27

问题 有如下程序:
    #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 obj 1(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调用obj1的成员函数试图修改其私有成员的数值的时候,会编译出错。
转载请注明原文地址:https://kaotiyun.com/show/QDyp777K
0

最新回复(0)