niusouti.com

下面程序的输出结果是includeclass A{public: A( ) {cout 下面程序的输出结果是 #include<iostream.h> class A { public: A( ) {cout < < "construtA" < < endl;} Virtual~A( ) {cout < < "destructA" < < endl;}}; class B: public A { }; class C:public A { }; class D:public B,public C { };

题目
下面程序的输出结果是includeclass A{public: A( ) {cout < < "construtA" < < end

下面程序的输出结果是 #include<iostream.h> class A { public: A( ) {cout < < "construtA" < < endl;} Virtual~A( ) {cout < < "destructA" < < endl;}}; class B: public A { }; class C:public A { }; class D:public B,public C { }; void main( ) { D d;}

A.constructA

B.constructA

C.constructA

D.constructA destructA constructA constructA constructA destructA constructA constrnctA destructA destructA constructA destructA destructA destructA destrctA destructA destructA


相似考题
更多“下面程序的输出结果是#include<iostream.h>class A{public: A( ) {cout < < "construtA" < < end ”相关问题
  • 第1题:

    以下程序的执行结果是______。 include class A{ int a: public: void seta(int x) {

    以下程序的执行结果是______。

    include<iostream.h>

    class A

    {

    int a:

    public:

    void seta(int x) {a=x;}

    void showa() {cout<<a<<end1;}

    };

    class B

    {

    int b;

    public:

    void setb(int x) {b=x;}

    void showb(){cout<<b<<end1;}

    };


    正确答案:1 3
    1 3

  • 第2题:

    以下程序执行后的输出结果是 ( )。include class Basel{public: void fun(){ cout<<

    以下程序执行后的输出结果是 ( )。 #include <iostream.h> class Basel { public: void fun(){ cout<<"Basel"<<end1; } }; class Base2 { public: void fun() { cout<<"Base2"<<end1; } } class Derived : public Basel,public Base2 { }; void main() { Derived Obj; Obj.fun(); }

    A.Basel

    B.Base2

    C.BaselBase2

    D.程序产生二义性


    正确答案:D
    解析:本题考核继承中可能出现的二义性问题;题中当派生类Derived的对象obj访问函数fun()时,由于无法确定访问的是基类Basel中的fun()函数还是基类Base2中fun()函数,从而对函数fun()的访问产生二义性。

  • 第3题:

    下面程序的运行结果是includeclass base{protected: int a;public: base(){cout <<

    下面程序的运行结果是 #include<iostream.h> class base{ protected: int a; public: base(){cout <<"0";} }; class basel:virtual base{ public: basel () {cout <<"1";} }; class base2:virtual base{ public: base2(){cout <<"2";} }; class derived:public basel,public base2{ public: derived(){cout <<"3";} }; void main() { derived obj; cout <<end1; }

    A.123

    B.3120

    C.312

    D.3012


    正确答案:A
    解析:本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。

  • 第4题:

    下面程序的输出结果是 ______。includevoidmain(){intx=20;int&y=x;cout<<(x==y

    下面程序的输出结果是 ______。 #include<iostream.h> void main(){ int x=20; int &y=x; cout<<(x==y)<<“”; cout<<(&x==&y)<<end1: }

    A.20 20 20 20

    B.20 20

    C.1 1

    D.出错


    正确答案:C

  • 第5题:

    下面程序输出的结果为 #include" iostream.h" class A { public: A( ) { cout < < "CLASS A" < < end1;} ~ A( ) { } }; class B:public A { public: B( ){ cout < < "CLASS B" < < end1;} ~ B( ) { } }; void main( ) { A * p; p=new B; B * q;

    A.CLASS A CLASS B

    B.CLASS A CLASS B CLASS B

    C.CLASS A CLASS B CLASS A CLASS B

    D.CLASS A CLASS B CLASS B CLASS B


    正确答案:C
    解析:每实例化一个类就要调用其构造函数,结束运行该实例后调用析构函数。注意:类的实例化和构造函数、析构函数的调用方式和何时调用。