有如下程序:includeusing namespace std;classA{public:virtua1 voidfunc1(){cout有如下程序: #include<iostream> using namespace std; classA{ public: virtua1 voidfunc1(){cout<<“A1”;} voidfunc2(){cout<<“A2”;}}; class B:publicA{ public: void funcl(){cout<<“B1”;} void func2

题目
有如下程序:includeusing namespace std;classA{public:virtua1 voidfunc1(){cout<<“

有如下程序: #include<iostream> using namespace std; classA{ public: virtua1 voidfunc1(){cout<<“A1”;} voidfunc2(){cout<<“A2”;}}; class B:publicA{ public: void funcl(){cout<<“B1”;} void func2(){cout<<“B2”;}}; intmain(){ A*p=ne

A.B1B2

B.A1A2

C.B1A2

D.A1B2


相似考题
更多“有如下程序:#include<iostream>using namespace std;classA{public:virtua1 voidfunc1(){cout<<“ ”相关问题
  • 第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 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

  • 第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
    解析:本题考核类的继承与派生。派生类构造函数执行的一般次序如下:首先调用基类构造函数,调用顺序按照它们被继承时说明的顺序。然后调用子对象的构造函数,调用顺序按照它们在类中的说明顺序。最后是派生类构造函数中的内容。题中,类A是基类,类C是基类A的派生类,类B的对象b是类C的私有成员。所以最后的输出为ABC。

  • 第4题:

    有如下程序:includeusing namespace std;class A{public:virtual void func1(){cout<

    有如下程序: #include<iostream> using namespace std; class A{ public: virtual void func1(){cout<<"A1";} void func2(){cout<<"A2";} }; class B:public A{ public: void func1(){cout<<"B1";} void func2(){cout<<"B2";} }; int main() { A *p=new B; p->func1(); p->func2(); return 0; } 执行该程序,屏幕上将显示输出( )。

    A.B1B2

    B.A1A2

    C.B1A2

    D.A1B2


    正确答案:C
    解析:程序中B为A的派生类,由主函数入手,主函数中定义了类A的指针p指向类B。根据基类中的“virtualvoidfunc1()”知道A中的func1为虚函数,执行“p->func1();”语句,通过指针变量调用此虚函数,此时调用的就是指针变量指向的同名函数,即派生类的func1函数,输出B1。而fun2不是虚函数,所以执行“p->func2();”输出为A2。

  • 第5题:

    有如下程序: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为正确答案。

  • 第6题:

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