问题 单项选择题

有下列程序: #include<iostream> using namespace std; class TestClass { private: int x,y; public: TestClass (int i,int j) { x=i; y=j; } void print() { cout<<"printl"<<endl; } void print ()const { cout<<"print2"<<endl; } }; int main() { const TestClass a(1,2); a.print(); return 0; } 运行该程序后的输出结果是( )。

A.print1

B.print2

C.pfint1 print2

D.程序编译时出错

答案

参考答案:B

解析:
由主函数main入手,定义TestClass型的常对象a,然后调用对象a中的成员函数print()。因为在C++中,如果一个对象被声明为常对象,则不能调用该对象中的非const型的成员函数。所以,这里调用的是对象中的const型成员函数“void print ()const”,输出为print2。

判断题
单项选择题