单选题 有如下程序:
#include<iostream>
using namespace std;
class A
public:
A(int i)x=i;
void dispa()cout<<x<<',';
pnvate:
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;

执行这个程序的输出结果是______。
A.10,2 B.12,10 C.12,2 D.2,2

【正确答案】 C
【答案解析】[解析] 本题考查派生类的构造函数和基类的构造函数。本题中类B继承类A,定义了一个类B的对象并初始化b(2),此时会执行类B的构造函数,执行的结果是继承类A中的私有成员赋值了12,给类B自身的数据成员x赋值了2,执行b.dispb()后,输出类A的私有成员x,输出类B自身的数据成员,所以答案为C。