单选题 有如下程序: #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<<end1;} 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。