有如下程序: #include using namespace std; class MyClass { public: MyClass(int x):val(x) {} void Print() const { cout

admin2020-07-23  24

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

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

答案C

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

最新回复(0)