有如下程序: #include<iostream> using namespace std; class A{ public: A(){cout<<"A";} }; classB{public:B().{co

admin2010-06-06  40

问题 有如下程序:    #include<iostream>    using namespace std;    class A{    public:       A(){cout<<"A";}    };    classB{public:B().{cout<<"B";}}    classC:public A{       B b;    public:       C(){cout<<"C";}    };    int main (){  C obj;  return 0;}    执行后的输出结果是

选项 A、CBA
B、BAC
C、ACB
D、ABC

答案D

解析 本题考核类的继承与派生。派生类构造函数执行的一般次序如下:首先调用基类构造函数,调用顺序按照它们被继承时说明的顺序。然后调用子对象的构造函数,调用顺序按照它们在类中的说明顺序。最后是派生类构造函数中的内容。题中,类A是基类,类C是基类A的派生类,类B的对象b是类C的私有成员。所以最后的输出为ABC。
转载请注明原文地址:https://kaotiyun.com/show/g5jp777K
0

最新回复(0)