#include#include using namespace std; class A{ public: A(void){ cout << "A::A()" << endl; } ~A(void){ cout << "A::~A()" << endl; } static void* operator new(size_t size){ cout << "A::new" << endl; void* pv = malloc(size); return pv; } static void operator delete(void* pv) { cout << "A::delete" << endl; free(pv); } }; int main(void){ A* pa = new A; delete pa; return 0; }
结果为:
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的松岭网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
A::new
A::A()
A::~A()
A::delete
由此我们可以知道,new 对象时,先new在调用其构造,
delete对象的时,先调用其析构,再delete