单选题 设有以下定义和程序: #include<iostream.h> class TestClass1 { public: void show1() { cost<<''TestClass1''<<endl; } }; class TestClass2:TestClass1 { public: void show2() { tout<<''TestClass2''<<endl; } }; class TestClass3:protected TestClass2 { public: void show3() { cout<<''TestClass3''<<endl: } }; void main() { TestClassl obj1; TestClass2 obj2; TestClass3 obj3; } 则以下不合语法的调用语句是( )。
【正确答案】 C
【答案解析】解析:TestClass1为TestClass2的私有基类,所以派生类TestClass2中继承过来的showl()为私有的。TestClass3为TestClass2的受保护派生类。所以TestClass3定义的对象不能访问TestClass中的show1()。