Example of Operator Overloading in C++
C++
// C++ Program to Demonstrate // Operator Overloading #include <iostream> using namespace std; class Complex { private : int real, imag; public : Complex( int r = 0, int i = 0) { real = r; imag = i; } // This is automatically called when '+' is used with // between two Complex objects Complex operator+(Complex const & obj) { Complex res; res.real = real + obj.real; res.imag = imag + obj.imag; return res; } void print() { cout << real << " + i" << imag << '\n' ; } }; int main() { Complex c1(10, 5), c2(2, 4); Complex c3 = c1 + c2; c3.print(); } |
Output
12 + i9
Operator Overloading in C++
in C++, Operator overloading is a compile-time polymorphism. It is an idea of giving special meaning to an existing operator in C++ without changing its original meaning.
In this article, we will further discuss about operator overloading in C++ with examples and see which operators we can or cannot overload in C++.