有如下程序: #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”。