In this tutorial, subtraction - operator is overloaded to perform
subtraction of a complex number from another complex number. Since - is a
binary operator( operator that operates on two operands ), one of the
operands should be passed as argument to the operator function and the
rest process is similar to the overloading of unary operators.
In this program, three objects of type Complex is created and user is asked to enter the real and imaginary parts for two complex numbers which is stored in objects
Though, this tutorial contains the overloading of - operators, binary operators in C++ programming like: +, *, <, += etc. can be overloaded in similar manner.
Binary Operator Overloading to Subtract Complex Number
/* C++ program to demonstrate the overloading of binary operator by subtracting one complex number from another. */
#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;
}
Complex operator - (Complex c2) /* Operator Function */
{
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; /* c2 is furnised as an argument to the operator function. */
result.output();
return 0;
}
ExplanationIn this program, three objects of type Complex is created and user is asked to enter the real and imaginary parts for two complex numbers which is stored in objects
c1
and c2
. Then statement result=c1-c2
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 and then, it is displayed.Though, this tutorial contains the overloading of - operators, binary operators in C++ programming like: +, *, <, += etc. can be overloaded in similar manner.
1 comment:
Whats up! I just wish to give an enormous thumbs up for
the good data you could have here on this
post. I shall be coming back to your blog for more soon.
Also visit my web page: good cheap laptops at walmart
Post a Comment