回答:
#include <iostream>
using namespace std;
class Myclass{
public:
Myclass(){
cout<<'A';
}
Myclass(char c){
cout<<c;
}
~Myclass(){
cout<<'B';
}
};
int main()
{
Myclass p1, *p2;
p2 = new Myclass('X');
delete p2;
return 0;
}
应该是初始化对象p1、p2,会自动调用构造函数,输出无参构造函数调用结果,一个含参构造函数调用结果,以及最后的两次调用析构函数
输出AXBB
定义p1调用无参构造函数输出A
p2的new调用有参构造函数输出Ⅹ
delete p2调用析构函数输出B
最后main函数结束时p1析构输出B