Sunday, June 24, 2012

CS201Assignment No. 04 Semester: Spring 2012 CS201: Introduction to Programming



#include <iostream.h>

class location
{
      public:
           location();
           location(int j,int i);
           void display();
           void* operator new (size_t);
           void operator delete(void*);
           location operator ++();
           location operator --();
      private:
        int longitude;
        int latitude;    
};
location::location()
{
    longitude=0;
    latitude=0;        
}
location::location(int j,int i)
{
    longitude=j;
    latitude=i;
}

void location::display()
{
    cout<<"\n Longitude : "<<longitude;
    cout<<"\n Latitude : "<<latitude;
}

void* location::operator new(size_t size)
{
    cout<<"\nOverloaded New operator Called"<<endl;    
    void *pointer=malloc(size);
    return pointer;
}

void location::operator delete(void *p)
{
     cout<<"\nOverloaded delete operator Called"<<endl;
     free(p);
}

location location::operator ++()
{
    longitude+=1;
    latitude+=1;
}

location location::operator --()
{
    --longitude;
    --latitude;
}

main()
{
    location *loc,l2;
    loc=new location(10,20);
    loc->display();
    cout<<"\nAfter calling Overloaded ++ operator";
    ++*loc;
    loc->display();
    cout<<"\n";
    l2=location(30,40);
    l2.display();
    --l2;
    cout<<"\nAfter calling Overloaded -- operator";
    l2.display();
    delete loc;
    system ("pause");
}

No comments:

Post a Comment