有如下程序: #include using namespaee std; class MyClass{ public: MyClass(int x):val(x){} void Print()eonst{eo

admin2020-06-29  35

问题 有如下程序:
    #include
    using namespaee std;
    class MyClass{
    public:
    MyClass(int x):val(x){}
    void Print()eonst{eout<<’’eonst:val=’’<    void Print(){eout<<’’val=’’<    private:
    int val;
    };
    int main(){
    eonst lyClass obj1(10);
    MyClass obj2(20);
    obj1.Print();
    obj2.Print();
    return 0;
    }
    执行这个程序的输出结果是(    )。

选项 A、val=10    const:val=20
B、const:val=10    const:val=20
C、const:val=10    val=20
D、val=10    val=20

答案C

解析 本题考查常对象、常成员函数及构造函数。常对象只能凋用常成员函数,普通对象调用普通成员函数。所以本题中obj1为常对象,执行obj1.print()后,会执行常构造函数,输出const:val=10;而obi,2为普通对象,执行obj2.print()时,会执行默认构造函数,输出val=20。故答案为C。
转载请注明原文地址:https://jikaoti.com/ti/gUA0FFFM
0

最新回复(0)