单选题 有如下程序 #include<iostream> #include<iomanip> using namespace std; class MyClass{ public: MyClass(){cout<<'A';} MyClass(chaf c){cout<<c;} ~MyClass(){cout<<'B';} }; int main(){ MyClass p1,*p2; p2=new MyClass('X'); delete p2; return 0; } 执行这个程序屏幕上将显示输出( )。
【正确答案】 D
【答案解析】解析:此题考查的是构造函数和析构函数。构造函数在对象被创建的时候由系统自动调用,而析构函数在对象的生存期即将结束的时候由系统自动调用。此题中,主程序在创建MayClass类的对象p1时,调用MayClass类的默认构造函数,输出字母A;然后在创建*p2对象时,调用带字母参数的构造函数,输出字母X;语句delete p2:调用析构函数,输出字母B;在主函数退出时,调用析构函数清除对象p1,输出字母B。