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

admin2021-05-06  15

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

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

答案C

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

最新回复(0)