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

admin2019-06-12  20

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

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

答案C

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

最新回复(0)