Search This Blog

Monday, 12 November 2012

Overloading new and delete

#include<iostream.h>
#include<conio.h>
class loc{
int logtitude,latitude;
public:
loc(){}

loc(int lg, int lt){
logtitude=lg;
}
void show()
{
cout<<"longtitude<<"";
cout<<latitude<<"";
}
void*operator new(size_t size);
void operator delete(void *p);
};
void *loc::operator new(size_t size)
{
cout<<"ln my new(size_t size)
return malloc(size);
}
void*loc::operator delete(void *p)
{
cout<<"ln my delete";
free(p);
}
main()
{
loc*p1;
p1=new loc(10,20);
if(!p1)
{
cout<<"Allocation Error\n";
exit(1);
}
p1->show();
delete p1;
return 0;
}

Output:
In my new
10 20 In my delete


No comments:

Post a Comment