by Dinesh Thakur Category: Classes in C++

 

#include <iostream.h>

#include<conio.h>
class Point
{
          int x, y;
          public:
                        Point() {}
                        Point(int px, int py)
                               {
                                    x = px;
                                    y = py;
                               }
                        void show()
                              {
                                   cout << x << " ";
                                   cout << y << "\n";
                              }
                       Point operator=(Point op2);
                       friend Point operator++(Point &op);
                       friend Point operator-(Point &op);
};
                      // Overload assignment for Point.
                      Point Point::operator=(Point op2)
               {
                      x = op2.x;
                      y = op2.y;
                      return *this; // Le., return object that generated call
                }
                      // Now a friend; use a reference parameter.
                     Point operator++(Point &op)
               {
                        op.x++;
                        op.y++;
                        return op;
               }
                      // Make op- a friend; use reference.
                     Point operator-(Point &op)
               {
                     op.x--;
                     op.y--;
                     return op;
                }
                       void main()
                   {
                         clrscr();
                         Point ob1(10, 20), ob2;
                         ob1.show();
                         ++ob1;
                         ob1.show(); // displays 11 21
                         ob2 = ++ob1;
                         ob2.show(); // displays 12 22
                         -ob2;
                         ob2.show(); // displays 11 21
                          getch();
                    }

Make op-, ++, = a friend; use reference



About Dinesh Thakur

Dinesh ThakurDinesh Thakur holds an B.SC (Computer Science), MCSE, MCDBA, CCNA, CCNP, A+, SCJP certifications. Dinesh authors the hugely popular blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps. For any type of query or something that you think is missing, please feel free to Contact us.



Related Articles