#include <iostream>
#include <cstdlib>
using namespace std;
class A{
int i;
int j;
public:
A(){
cout << "A()" << endl;
}
void *operator new(size_t size)
{
void *p;
p = (void *)malloc(size);
cout << "void *operator new(size_t size)" << size << endl;
return p;
}
void operator delete(void *p)
{
cout << "void *operator delete(size_t size)" << endl;
free(p);
}
void *operator new[](size_t size)
{
void *p;
p = (void *)malloc(size);
cout << "void *operator new[](size_t size,int n)" << size << endl;
return p;
}
void operator delete[](void *p)
{
cout << "void operator delete[](void *p)" << endl;
free(p);
}
};
int main()
{
A *a = new A;
delete(a);
A *a1 = new A[10];
delete[] a1;
return 0;
}
#include <cstdlib>
using namespace std;
class A{
int i;
int j;
public:
A(){
cout << "A()" << endl;
}
void *operator new(size_t size)
{
void *p;
p = (void *)malloc(size);
cout << "void *operator new(size_t size)" << size << endl;
return p;
}
void operator delete(void *p)
{
cout << "void *operator delete(size_t size)" << endl;
free(p);
}
void *operator new[](size_t size)
{
void *p;
p = (void *)malloc(size);
cout << "void *operator new[](size_t size,int n)" << size << endl;
return p;
}
void operator delete[](void *p)
{
cout << "void operator delete[](void *p)" << endl;
free(p);
}
};
int main()
{
A *a = new A;
delete(a);
A *a1 = new A[10];
delete[] a1;
return 0;
}