有如下程序: #inc1ude<iostream> using namespace std; c1assA { public: A(int i){x=i;) void dispa(){cout<<x<

admin2020-07-30  16

问题 有如下程序:
    #inc1ude<iostream>
    using namespace std;
    c1assA
    {
    public:
    A(int i){x=i;)
    void dispa(){cout<<x<<’,’;}
    private:
    int x;
    };
    c1ass B:public A
    {
    public:
    B(int i):A(i+10){x=i;)
    void dispb(){dispa();cout<<x<< end1;}
    private
    int x;
    };
    int main()
    {
    B b(2);
    b.dispb();
    retum 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;接着执行函数dispb0的第2条语句输出2,然后主函数结束。
转载请注明原文地址:https://kaotiyun.com/show/ITyp777K
0

最新回复(0)