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