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