class Test
{
public:
Test(){ cout << "Test()" << endl; }
~Test(){ cout << "~Test()" << endl; }
void* operator new(size_t size)
{
void *p = NULL;
p = malloc(size);
cout << "addr:" << p << endl;
return p;
}
void operator delete(void *ptr)
{
cout << "addr:" << ptr << endl;
free(ptr);
}
void* operator new[](size_t size)
{
void *p = NULL;
p = malloc(size);
cout << "addr:" << p << endl;
return p;
}
void operator delete[](void *ptr)
{
cout << "addr:" << ptr << endl;
free(ptr);
}
delete []p2;
delete p1;
delete p2;
void* operator new(size_t size)
{
void *p = NULL;
p = malloc(size);
if (p == NULL)
throw bad_alloc("");
return p;
}
void operator delete(void *ptr)
{
free(ptr);
}
void* operator new[](size_t size)
{
void *p = NULL;
p = malloc(size);
if (p == NULL)
throw bad_alloc("");
return p;
}
void operator delete[](void *ptr)
{
free(ptr);
}