HELP!!!!!!!! by really smart people only please, am paying for this. not paying
ID: 3535168 • Letter: H
Question
HELP!!!!!!!! by really smart people only please, am paying for this. not paying for sloppy work.
Please revise the codes to create template for complex class to make the main program work.
class Complex {
public:
Complex<T>( T = 0 , T = 0 ); // constructor
Complex<T> operator+( const Complex<T>& ) const; // addition
void print();
private:
int real; // real part
int imaginary; // imaginary part
};
// Constructor
Complex::Complex(int r, int i )
{
real = r;
imaginary = i;
}
// Overloaded addition operator
Complex Complex::operator+( const Complex &operand2 ) const
{
Complex sum;
sum.real = real + operand2.real;
sum.imaginary = imaginary + operand2.imaginary;
return sum;
}
void Complex::print()
{
cout << real << " + " << imaginary << 'i' << endl;
}
//Use the following main function to test your program
int main()
{
Complex<double> x, y( 4.3, 8.2 ), z( 3.3, 1.1 );
x = y + z;
x.print();
Complex<int> a, b( 4, 8 ), c( 3, 2 );
a = b + c;
a.print();
return 0;
}
Explanation / Answer
template class Complex { public: T real_; T img_; Complex(T real, T img) : real_(real), img_(img) { } }; template T add(T num) { return num + num; } template Complex add(Complex num) { T temp_real = num.real_+ num.real_ ; T temp_img = num.img_ + num.real_; return Complex(temp_real, temp_img); }template T sub(T num) { return num - num; } template Complex add(Complex num) { T temp_real = num.real_- num.real_ ; T temp_img = num.img_ - num.real_; return Complex(temp_real, temp_img); } }Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.