问题详情

有如下程序: #include<iostream> usingnamespacestd; classMyClass{ public: MyClass(intx):val(x){} voidPrint()const{cout<<"const:val="<<<val<<\t;} voidPrint(){cout<<"val="<<val<<t;} private: intval; }; intmain(){ constMyClassobj1(10); MyClassobj2(20);obj1.Print(); obj2.Print(); return0; } 程序的输出结果是( )。


A、va1=10const:va1=20

B、const:va1=10const:va1=20

C、const:va1=10val=20

D、val=10va1=20

时间:2022-01-09 15:49 关键词:

答案解析

D
D。【解析】在建立类对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承的声明顺序;执行成员对象的构造函数,调用顺序按照各个成员在类中的声明顺序;执行自身的构造函数。根据以上总结以及题意可知答案选择D选项。