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

admin2017-02-22  20

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

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

答案C

解析 由于classA3:protectedA2,所以类A3的对象obi3不能直接访问基类A1的成员函数showlf),所以选项C)是错误的;其他选项均有访问的权限,正确。
转载请注明原文地址:https://kaotiyun.com/show/M6Ap777K
0

最新回复(0)