niusouti.com

请分析下面的程序并给出该程序的执行结果【】。 include class AA {int a;public: AA()请分析下面的程序并给出该程序的执行结果【 】。include <iostream>class AA {int a;public:AA() {cout<<" Initializing AA!\n" ; }AAM() {cout<<" Destroying AA!\n" ;};class BB {int b;AA p;public:BB() {cout<<"Initializing BB!\

题目
请分析下面的程序并给出该程序的执行结果【】。 include class AA {int a;public: AA()

请分析下面的程序并给出该程序的执行结果【 】。

include <iostream>

class AA {

int a;

public:

AA() {cout<<" Initializing AA!\n" ; }

AAM() {cout<<" Destroying AA!\n" ;

};

class BB {

int b;

AA p;

public:

BB() {cout<<"Initializing BB!\n" ;

~BB() {cout<<"Destroying BB!\n" ;

};

void main() {

BB X;

cout<<"Ending main!\n' ;

}


相似考题
更多“请分析下面的程序并给出该程序的执行结果【】。 include <iostream> class AA {int a;public: AA() ”相关问题
  • 第1题:

    下面程序执行的结果是【 】 include using namespace std; class A{ public: static in

    下面程序执行的结果是【 】

    include<iostream>

    using namespace std;

    class A{

    public:

    static int x;

    A(inty){cout<<x+y;}

    };

    int A::x=2;

    void main(){

    A a(5);

    }


    正确答案:7
    7 解析:程序的静态变量初始化为2,而构造函数招待过程中y变量为初始化为5,故程序执行的结果为7。

  • 第2题:

    请将如下程序补充完整,使得输出结果为:bbaa。 include using naluespace std; class

    请将如下程序补充完整,使得输出结果为:bbaa。

    include<iostream>

    using naluespace std;

    class A{

    public:

    ______{eout<<"aa";}

    };

    class B:public A{

    public:

    ~B( ){eont<<"bb";}

    };

    int ulain( ){

    B*P=new B;

    delete P;

    return 0;

    }


    正确答案:~A( )
    ~A( ) 解析:派生类和基类的析构函数调用顺序是先调用派生类的析构函数,然后调用基类的析构函数,打印“bb”说明已经在调用派生类的析构函数,则要继续打印“aa”,显然就只有定义在基类的析构函数中去打印,故答案为~A( )。

  • 第3题:

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

  • 第4题:

    有以下程序: include class A { intx; public: A(int a) { x=a;} friend class B;

    有以下程序:

    include<iostream.h>

    class A

    {

    int x;

    public:

    A(int a)

    {

    x=a;

    }

    friend class B;

    }

    class B{

    public:

    void print(A a){

    a. x--;

    cout<<a.x<<end1;

    }

    };

    void main()

    {

    A a(10);

    B b;

    b.print(a) ;

    }

    程序执行后的输出结果是【 】。


    正确答案:9
    9 解析:本题考核友元类的应用。在程序中,类B是类A的友元类,因此,在类B的所有成员函数中均可访问类A的任何成员。在main()中,先定义类A的一个对象a(10)和类B的一个对象b。然后通过对象b调用其成员函数print输出对象a的私有成员x的值减1即9。

  • 第5题:

    下面程序的运行结果为includeclass A{ int num;public: A(int){num=i;} A(ABm){num

    下面程序的运行结果为 #include<iostream.h> class A { int num; public: A(int){num=i;} A(ABm){num=a.num++;} void print(){cout<<num;} }; void main() { Aa(1),b(a); a.print(); b.print(); }

    A.11

    B.12

    C.21

    D.22


    正确答案:C
    解析:本题;号查考生对拷贝构造函数的掌握。因为++运算是右结合的,所以在使用a对b赋值时,b的num变为l而a的num变为2(先赋值再自加)。