问题 单项选择题

若有以下程序: #include <iostream> using namespace std; class A { private: int 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<<end1;} }; int main() { C obj (10); 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的成员初始化列表。

单项选择题
单项选择题