问题
单项选择题
有以下程序:
#include <iostream>
using namespace std;
class A
private:
iht a;
public:
A(int i)
a=i;
void disp()
cout<<a<<",";
class B
private:
int b;
public:
B(int j)
b-j;
void disp()
cout<<b<<",";
;
class C: public B,public A
private:
int c;
public:
C(int k):A(k-2),B(k+2)
c=k;
void disp()
A::disp();
B::disp();
cout<<c<<endl;
,
int main()
C obj(l0);
obj.disp();
return 0;
程序执行后的输出结果是
A.10,10,10
B.10,12,14
C.8,10,12
D.8,12,10
答案
参考答案:D
解析: 本题考核派生类构造函数的使用。本题中,派生类C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。