有如下程序: #include using namespace std; classA { public: A(int i){X=i;} void dispa(){cout

admin2020-07-30  32

问题 有如下程序:
    #include
    using namespace std;
    classA
    {
    public:
      A(int i){X=i;}
      void dispa(){cout<    private:
      int x;
    };
    class B:publicA
    {
    public:
      B(int i):A(i+10){X=i;}
      void dispb(){dispa();cout<private
      int x:
    };
    int main()
    {
      B b(2);
      b.dispb();
      return 0;
    }
    运行时输出的结果是(    )。

选项 A、10,2
B、12,10
C、12,2
D、2,2

答案C

解析 此题考查的是派生类的构造。主函数中,首先声明B类的对象b,执行进入B的构造函数B(int i)再接着执行A的构造函数A(int i),形参i为12,x被赋值12;通过对象b调用其成员函数dispb(),输出结果12:接着执行函数dispb()的第2条语句输出2,然后主函数结束。
转载请注明原文地址:https://jikaoti.com/ti/CSl0FFFM
0

最新回复(0)