若有以下程序: #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<<endl; } }; 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的成员初始化列表。