#include <iostream>
#include <cstdlib>
using namespace std;

class Base
{
	public:
	Base()
	{
		cout<<"Constructor"<<endl;
	}
	Base(const Base& rhs)
	{
		cout<<"Copy constructor"<<endl;
	}
	 Base* Clone()
	{
		return new Base(*this);
	}
	void* operator new(size_t size)
	{
		void* p=malloc(size);
		cout<<"Inside new"<<endl;
		return p;
	}
};

int main()
{
	Base b1;
	Base* ptr=b1.Clone();
	return 0;
}