// newDelete.cpp - etst overloading global new and delete operators #include #include using namespace std; void* operator new(size_t s) { cout << "\n calling new"; return (::new(s)); } void* operator new[](size_t s, const nothrow_t &nt) throw() { cout << "\n calling new"; return ::new[](s,nt); } void operator delete(void *p) throw() { cout << "\n calling delete"; ::delete(p); } void operator delete[](void *p) throw() { cout << "\n calling delete"; ::delete(p); } void main() { cout << "\n Testing Overloaded operators new and delete " << "\n =============================================\n"; char *pChar = new char; char *pArrayChar = new char[5]; delete pChar; delete [] pArrayChar; }