Operator new sample
#include "malloc.h"
#include "iostream.h"
class A
{
public:
void * operator new (unsigned int size)
{
cout << "size is " << size << endl;
return malloc(size);
}
A()
{
val=9;
cout << "constructing "<< endl;
}
void set(int x) { val = x; }
int val;
};
main()
{
A * a = new A();
a->set (10);
cout << "a.val = " << a->val << endl;
}
Output:
/home/exiahan/code # ./a.out
size is 4
constructing
a.val = 10