问题
填空题
若有以下程序: #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。