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

admin2020-04-07  37

问题 有如下程序:
    #include
    using namespace std;
    class MyClass{  
    public:
        MyClass(int x):Val(x){}
        void Set(int x){val=x;}
        void Print()const{cout<<"val="<    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/738p777K
0

最新回复(0)