#include<iostream>
using namespace std;
class Myclass{
private:
int* data;
public:
Myclass(int size)
{
data=new int[size];
}
~Myclass(){
cout << "析构函数被调用" << endl;
delete[] data;
}
};
int main()
{
Myclass m1(5);
Myclass *m2=new Myclass(10);
delete m2;
return 0;
}
m1局部对象的作用域结束后会调用析构函数,使用delete删除动态分配的对象m2,会再次调用析构函数。因此执行结果为: