设有以下定义和程序: #include class TestClass1 { public: void show1() { cout

admin2020-07-23  35

问题 设有以下定义和程序:
    #include
    class TestClass1
    {
    public:
    void show1()
    {
    cout<<”TestClass1”<    }   
    }:
    class TestClass2:TestClass1
    {
    public:
    void show2()
    {
    cout<<”TestClass2”<    }
    };
    class TestClass3:protected TestClass2
    {  
    public:
    void show3()
    {  
    cout<<”TestClass 3”<    }  
    };  
    void main()
    {  
    TestClass1 obj1;
    TestClass2 obj2;
    TestClass3 obj3;  
    }
    则以下不合语法的调用语句是(    )。  

选项 A、obj1.show1();
B、obj2.show1();
C、obj3.show1();
D、obj2.show2();

答案C

解析 TestClass1为TestClass2的私有基类,所以派生类TestClass2中继承过来的show1()为私有的。TestClass3为TestClass2的受保护派生类。所以TestClass3定义的对象不能访问TestClass中的show1()。
转载请注明原文地址:https://jikaoti.com/ti/4Hl0FFFM
0

最新回复(0)