析构函数

include

include

using namespace std;
class Demo{
public:
Demo(string s);
~Demo();
private:
string m_s;
};
Demo::Demo(string s): m_s(s){ }
Demo::~Demo(){ cout< void func(){
//局部对象 位于栈区,析构,构造都会执行
Demo obj1("1");
}
//全局对象
Demo obj2("2");//在全局数据区 在vc.6.0下不会执行析构,和构造;

Demo obj5("5");

void main(){
//局部对象 位于栈区,一旦创建对象并传递参数,该对象对应的构造函数执行,该对象的析构函数也会执行
Demo obj3("3");

//new创建的对象
Demo *pobj4 = new Demo("4");   //在堆上创建对象并传递参数时,构造函数执行,在对象销毁时析构函数自动执行
delete pobj4;   //删除对象

//
func();

cout<<"main"<

}

你可能感兴趣的:(析构函数)