有如下程序: #include using namespaee std; class AA{ public: AA(){eout

admin2015-07-24  23

问题 有如下程序:   
    #include
    using namespaee std;
    class AA{
    public:
    AA(){eout<<"A";}
    ~AA(){tout<<"~A";}
    };
    class BB{
    public:
    BB(){eout<<"B";}
    ~BB(){tout<<"~B";}
    f;
    int main(){
    AA*pa=new AA:
    BB b;
    deletepa;
    return 0;
    }
    运行这个程序的输出是(    )。

选项 A、AB~A~B
B、BA~A~B
C、AB~B~A
D、BA~B~A

答案A

解析 main()函数中首先动态创建AA类对象,调用AA类构造函数,输出“A”,创建BB类对象,调用BB类构造函数,输出“B”,使用delete显式销毁AA类对象,调用AA类析构函数,输出“~A”,程序结束时,销毁BB类对象,编译器自动调用BB类析构函数,输出“~B”,整个程序输出结果为:“AB~A~B”,答案为A。
转载请注明原文地址:https://kaotiyun.com/show/McNp777K
0

最新回复(0)