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

admin2020-04-07  50

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

最新回复(0)