对象指针 局部变量对象 查看析构的调用

#include<iostream>
using namespace std;
class A{
	int m_data;
public:
	A(int i=1):m_data(i)
	{
	   cout<<"==========A()"<<m_data<<endl;
	}
	void func(){
	  A(3);//局部变量  栈里面
	}
	~A(){
	  cout<<"========~A() m_data="<<m_data<<endl;
	}
};

int main()
{
	A a;
	A *p;
	p=new A(2);
	a.func();
	p->func();
	//p->~A();//手动调用
	delete p;//调用-->~A()
	p=NULL;
	return 0;
}
/*result:
==========A()1
==========A()2
==========A()3
========~A() m_data=3
==========A()3
========~A() m_data=3
========~A() m_data=2
========~A() m_data=1
*/

posted @ 2015-11-07 19:22  cloudren2020  阅读(124)  评论(0编辑  收藏  举报