问题 单项选择题

有如下程序: #include(iostream) using namespace std; class TestClass{ protected: TestClass(){couti(cout<<‘x’;} TestClass(char c){cout<<c;}}; class TestClassl:publicTestClass{ public: TestClassl(char c){cout<<c;}}; int main(){ TestClassl d1(‘y’); return 0;} 执行这个程序,屏幕上格显示输出( )。

A.y

B.yx

C.xy

D.yy

答案

参考答案:C

解析: 本题中类TestClass为基类,TestClass1为TestClass的派生类。由main主函数入手,定义TestClassl类型的对象dl,参数值为y。TestClassl类继承TestClass,所以主函数中“TestClassldl(‘y’);”语句首先调用“TestClass1 (char c){cout<<c;}”然后调用基类中的“TestClass(){cout<<‘x’;}”输出x,然后执行“TestClass(charc){eout<<c;}”输出y,即答案为“xy”。

填空题
填空题