#include <iostream>
#include <cstdlib>
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