若有以下程序: #include <iostream> using namespace std; class A { private: int a; public: A(int i)

admin2010-03-29  24

问题 若有以下程序:    #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 ebj (10);       obj .disp ();       return 0;    }    程序执行后的输出结果是(   )。

选项 A、10,10,10
B、10,12,14
C、8,10,12
D、8,12,10

答案8

解析 本题考核派生类构造函数的使用。本题中,派生C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。
转载请注明原文地址:https://kaotiyun.com/show/P6jp777K
0

最新回复(0)