设有以下定义和程序: #inc1ude<iostream.h> class Testclassl { public: void showl() { cout<<"Testclassl"<<endl;

admin2021-06-10  19

问题 设有以下定义和程序:
    #inc1ude<iostream.h>
    class Testclassl
    {
    public:
    void showl()
    {
    cout<<"Testclassl"<<endl;
        }
    };
    class Testclass2:Testclassl
    {
    public:
    void show2()
    {
    cout<<"Testclass2"<<endl;
        }
    };
    class Testclass3:protected Testclass2
    {
    public:
    void show3()
    {
    cout<<"Testclass 3"<<endl;
       }  
    };    ,
    void main()
    {
    Testclassl obj1;
    Testclass2 0bj2;
    Testclass3 0bj3;
    }
    则以下不合语法的调用语句是(     )。

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

答案C

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

最新回复(0)