#include <iostream.h>
using namespace std;

class location

{

int longitude;

int latitude;

public:

location();

location(int j,int i);

void display();

void* operator new (size_t size);

location operator ++();

location operator --();

};
location::location()
{

longitude=0;

latitude=0;

}

location::location(int j,int i)

{

longitude=j;

latitude=i;

}


void location::display()

{

cout<<" Longitude : " <<endl;

cout<<" Latitude : " <<endl;

}


void* location::operator new(size_t size)

{

cout<<" Overloaded New operator Called" <<endl;

void *pointer=malloc(size);

return pointer;

}


location location::operator ++()

{

longitude+=1;

latitude+=1;

}


location location::operator --()

{

--longitude;

--latitude;

}




main()

{

location *loc,l2;

loc=new location(10,20);

loc[0].display();

cout<<" After calling Overloaded ++ operator on location 1" << endl;

++loc;

loc[0].display();

cout<<"Coordinate for location 2 :"<<endl;

l2=location(30,40);

l2.display();

--l2;

cout<<" After calling Overloaded -- operator" <<endl;

l2.display();

system ("pause");

delete loc,l2;

}