问题 单项选择题

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

A.y

B.yx

C.xy

D.yy

答案

参考答案:C

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

单项选择题
单项选择题