#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; }
結(jié)果為:
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的松嶺網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
A::new
A::A()
A::~A()
A::delete
由此我們可以知道,new 對象時(shí),先new在調(diào)用其構(gòu)造,
delete對象的時(shí),先調(diào)用其析構(gòu),再delete