Here is what I did,
Code:
class A
{
public:
	A()
	{
		p1 = new int(1);
		p2 = new int(2);
	}

private:
	int* p1;
	int* p2;
};

void* operator new(size_t size, int dummy)
{
	void* p = malloc(size);
	
	return p;
}

void operator delete(void* ptr, int dummy)
{
	free(ptr);
}

#define new new(0)
#define delete delete(0)

int main() 
{
	A* pA = new A;

	delete pA;
	return 0;
}
But it doesn't compile. There is an error "error C2541: 'delete' : cannot delete objects that are not pointers". What is wrong with my code? Thanks for your inputs.