Assignment operators overloading in C++

« Previous Chapter Next Chapter »

You can overload the assignment operator (=) just as you can other operators and it can be used to create an object just like the copy constructor.

Following example explain how an assignment operator can be overloaded.

Example

#include <iostream>
using namespace std;
 
class Distance
{
   private:
      int feet;             // 0 to infinite
      int inches;           // 0 to 12
   public:
      // required constructors
      Distance(){
         feet = 0;
         inches = 0;
      }
      Distance(int f, int i){
         feet = f;
         inches = i;
      }
      void operator=(const Distance &D )
      { 
         feet = D.feet;
         inches = D.inches;
      }
      // method to display distance
      void displayDistance()
      {
         cout << "F: " << feet <<  " I:" <<  inches << endl;
      }
  };
int main()
{
   Distance D1(11, 10), D2(5, 11);
   cout << "First Distance : "; 
   D1.displayDistance();
   cout << "Second Distance :"; 
   D2.displayDistance();
   // use assignment operator
   D1 = D2;
   cout << "First Distance :"; 
   D1.displayDistance();
   return 0;
}
                                        

When the above code is compiled and executed, Output Will Be :

Example

First Distance : F: 11 I:10
Second Distance :F: 5 I:11
First Distance :F: 5 I:11
                                        


« Previous Chapter Next Chapter »

Have Any Suggestion? We Are Waiting To Hear from YOU!

Your Query was successfully sent!