选择题 5.  有如下程序:
    #include<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<<endl;}
    private:
    int x;
    };
    int main() {
    B b(2);
    b. dispb();
    return 0;
    }
    执行这个程序的输出结果是______。
【正确答案】 C
【答案解析】 本题考查派生类的构造函数和基类的构造函数。本题中类B继承类A,定义了一个类B的对象并初始化b(2),此时会执行类B的构造函数,执行的结果是继承类A中的私有成员赋值了12,给类B自身的数据成员x赋值了2,执行b. dispb()后,输出类A的私有成员x,输出类B自身的数据成员,所以答案为C。