如下程序的输出结果是includeusing namespace std;class A{public:A( ){cout如下程序的输出结果是 #include<iostream> using namespace std; class A{ public: A( ){cout<<"A";} }; class B{public:B( ){cout<<"B";}}; class C:public A{ B b; public: C( ){cout<<"C";} }; int main( ){C obj;ret

题目
如下程序的输出结果是includeusing namespace std;class A{public:A( ){cout<<"A";}}

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

A.CBA

B.BAC

C.ACB

D.ABC


相似考题
参考答案和解析
正确答案:D
解析:派生类的构造函数的执行顺序是,先调用基类的构造函数,然后调用派生类的构造函数。当类中的数据成员为对象时,先调用对象成员的构造函数。
更多“如下程序的输出结果是#include<iostream>using namespace std;class A{public:A( ){cout<<"A";}} ”相关问题
  • 第1题:

    有如下程序:includeusing namespace std;class A{public:A(){cout<<"A";}};class B{p

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

    A.CBA

    B. BAC

    C.ACB

    D.ABC


    正确答案:D

  • 第2题:

    有如下程序:include using namespace std;class A {public: A() {cout<<"A";}};class

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

    A.CBA

    B.BAC

    C.ACB

    D.ABC


    正确答案:D
    解析:在构造派生类对象时,基类的构造函数要优于派生类的构造函数先执行,所以D为正确答案。

  • 第3题:

    有如下程序:includeusing namespace std;class A {public:A(){cout<<"A";}};classB{p

    有如下程序: #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
    解析:此题考查的是类的继承和派生。系统首先要通过派生类的构造函数调用基类的构造函数,对基类成员初始化:然后对派生类中的新增成员初始化。

  • 第4题:

    有如下程序: include using namespaee std; class A{ public: A( ){cout<<"A";}

    有如下程序:

    include<iostream>

    using namespaee std;

    class A{

    public:

    A( ){cout<<"A";}

    ~A( ){cout<<"A";}

    };

    class B{

    A a;

    public:

    B( ){cout<<"B";}

    ~B( )t cout<<"B";}

    };

    int main( ){

    B b;

    return 0;

    }

    程序的输出结果是______。


    正确答案:ABBA
    ABBA

  • 第5题:

    有如下程序:includeusing namespace std;class A{public: A(){cout<<"A";}};classB{p

    有如下程序: #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。