Easy Tutorial
❮ Cpp Examples Add Numbers Passing Parameters By References ❯

C++ Binary Operator Overloading

C++ Operator Overloading and Overloaded Functions

Binary operators require two parameters, and below is an example of a binary operator. The addition operator (+), subtraction operator (-), multiplication operator (*), and division operator (/) that we usually use are all binary operators. Just like the addition (+) operator.

The following example demonstrates how to overload the addition operator (+). Similarly, you can also try to overload the subtraction operator (-) and division operator (/).

Example

#include <iostream>
using namespace std;

class Box
{
   double length;      // Length
   double breadth;     // Breadth
   double height;      // Height
public:

   double getVolume(void)
   {
      return length * breadth * height;
   }
   void setLength( double len )
   {
       length = len;
   }

   void setBreadth( double bre )
   {
       breadth = bre;
   }

   void setHeight( double hei )
   {
       height = hei;
   }
   // Overload + operator to add two Box objects
   Box operator+(const Box& b)
   {
      Box box;
      box.length = this->length + b.length;
      box.breadth = this->breadth + b.breadth;
      box.height = this->height + b.height;
      return box;
   }
};
// Main function for the program
int main( )
{
   Box Box1;                // Declare Box1, of type Box
   Box Box2;                // Declare Box2, of type Box
   Box Box3;                // Declare Box3, of type Box
   double volume = 0.0;     // Store the volume in this variable

   // Box1 specifications
   Box1.setLength(6.0); 
   Box1.setBreadth(7.0); 
   Box1.setHeight(5.0);

   // Box2 specifications
   Box2.setLength(12.0); 
   Box2.setBreadth(13.0); 
   Box2.setHeight(10.0);

   // Volume of Box1
   volume = Box1.getVolume();
   cout << "Volume of Box1 : " << volume <&lt;endl;

   // Volume of Box2
   volume = Box2.getVolume();
   cout << "Volume of Box2 : " << volume <&lt;endl;

   // Add two objects to get Box3
   Box3 = Box1 + Box2;

   // Volume of Box3
   volume = Box3.getVolume();
   cout << "Volume of Box3 : " << volume <&lt;endl;

   return 0;
}

When the above code is compiled and executed, it produces the following result:

Volume of Box1 : 210
Volume of Box2 : 1560
Volume of Box3 : 5400

C++ Operator Overloading and Overloaded Functions

❮ Cpp Examples Add Numbers Passing Parameters By References ❯