问题
单项选择题
若有以下程序#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的成员初始化列表。