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

admin2018-08-13  13

问题 有如下程序:
    #include
    using namespace std;
    class A
    {
    public:
    A(int i){x=i;}
    void dispa(){cout<    private:
    int x:
    };
    class B:public A
    {
    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/XAt0FFFM
0

最新回复(0)