问题
单项选择题
有如下程序: #include<iostream> using namespace std; class TestClass { private; char c; public; TestClass (char n):c(n){} ~TestClass () { cout<<c; } }; class TestClass1:public TestClass { Private: char c; public: TestClass1(char n):TestClass (n+1),c(n){} ~TestClass1() { cout<<c; } }; int main() { TestClass1 obj(’x’); return 0; } 执行上面的程序输出( )。
A.xy
B.yx
C.x
D.y
答案
参考答案:A
解析: 题目中程序TestClass为基类,TestClass1为派生类。在主函数中定义TestClass1对象obj(’x’),“TestClass1(char n):TestClass (n+1),c(n){}”,所以先输出x,然后调用基类构造函数,’x’+1=’y’,所以输出y,即答案为xy。