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

admin2021-06-10  40

问题 有如下程序:
     #include
     using namespace std;
     class AA{
     public:
         AA(){ cout<<"A"; }
         ~AA(){ cout<<"~A"; }
     };
     class BB{
     public:
         BB(){ cout<<"B"; }
         ~BB(){ cout<<"~B"; }
     };
     int main(){
         AA *pa=new AA;
         BB b;
         delete pa;
         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/yyfp777K
0

最新回复(0)