C++ Program to Subtract Complex Number Using Operator Overloading

589 views

Binary Operator Overloading to Subtract Complex Number

#include <iostream> using namespace std; class Complex { private: float real; float imag; public: Complex(): real(0), imag(0){ } void input() { cout << "Enter real and imaginary parts respectively: "; cin >> real; cin >> imag; } // Operator overloading Complex operator - (Complex c2) { Complex temp; temp.real = real - c2.real; temp.imag = imag - c2.imag; return temp; } void output() { if(imag < 0) cout << "Output Complex number: "<< real << imag << "i"; else cout << "Output Complex number: " << real << "+" << imag << "i"; } }; int main() { Complex c1, c2, result; cout<<"Enter first complex number:\n"; c1.input(); cout<<"Enter second complex number:\n"; c2.input(); // In case of operator overloading of binary operators in C++ programming, // the object on right hand side of operator is always assumed as argument by compiler. result = c1 - c2; result.output(); return 0; }
Code language: C++ (cpp)

In this program, three objects of type Complex are created and user is asked to enter the real and imaginary parts for two complex numbers which are stored in objects c1 and c2.

Then statement result = c1 -c 2 is executed. This statement invokes the operator function Complex operator - (Complex c2).

When result = c1 - c2 is executed, c2 is passed as argument to the operator function.

In case of operator overloading of binary operators in C++ programming, the object on right hand side of operator is always assumed as argument by compiler.

Then, this function returns the resultant complex number (object) to main() function which is displayed as output on to the screen.

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

Enable Notifications    OK No thanks