write in c++ a code that will - a. Extend the definition of the class complexTyp
ID: 3677166 • Letter: W
Question
write in c++ a code that will
- a. Extend the definition of the class complexType so that it performs the subtraction and division operations. Overload the operators subtraction and division for this class as member functions. If (a, b) and (c, d ) are complex numbers: (a, b) - (c, d) = (a - c, b - d ). If (c, d ) is nonzero: (a, b) / (c, d) = ((ac + bd) / (c2 + d 2), (-ad + bc) / (c2 + d 2)).
b. Write the definitions of the functions to overload the operators - and / as defined in part a.
c. Write a test program that tests various operations on the class complexType. Format your answer with two decimal places.
Explanation / Answer
#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 oveloading
Complex operator - (Complex c2) /* Operator Function */
{
Complex temp;
temp.real=this->real-c2.real;
temp.imag=this->imag-c2.imag;
return temp;
}
// '/' division - operator overloading
Complex operator /(Complex c2)
{
Complex c3;
c3.real=((real*c2.real)+(imag*c2.imag))/((c2.real*c2.real)+(c2.imag*c2.imag));
c3.imag=((imag*c2.real)-(real*c2.imag))/((c2.real*c2.real)+(c2.imag*c2.imag));
return c3;
}
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: ";
c1.input();
cout<<"Enter second complex number: ";
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;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.