问题 填空题

若有以下程序: #include<iostream> using namespace std; class TestClass 1 { public: TestClass1() { X=0; } int x; }; class TestClass2:virtual public TestClass1 { public: TestClass2() { x=10; } }; class TestClass3:virtual public TestClass 1 { public: TestClass3() { x=20; } }; class TestClass4:public TestClass2, protected TestClass3 { }; int main() { TestClass4 obj; cout<<obj.x<<end1; return 0: } 该程序运行后的输出结果是______。

答案

参考答案:T

解析: 主函数中定义TestClass4的对象obj。TestClass4虽然公有继承于TestClass2,但是x在其中为私有,所以无法访问。TestClass4保护继承于TestClass3,TestClass3中的x=20为公有成员数据,对象obj可以访问这个数据,即输出为20。

多项选择题
单项选择题