求c++實驗報告實驗內容 定義一個複數類,乘法運算子*、除法運算子,編寫一個完整的程式,測試過載運算

  • 作者:由 匿名使用者 發表于 攝影
  • 2022-11-10

求c++實驗報告實驗內容 定義一個複數類,乘法運算子*、除法運算子,編寫一個完整的程式,測試過載運算伊人。2011.06.05 回答

#include

class complex

{

public:

complex()

complex(double r, double i)

{

real = r, imag = i;

}

complex operator +(const complex &c);

complex operator -(const complex &c);

complex operator *(const complex &c);

complex operator /(const complex &c);

friend void print(const complex &c);

private:

double real, imag;

};

inline complex complex::operator +(const complex &c)

{

return complex(real + c。real, imag + c。imag);

}

inline complex complex::operator -(const complex &c)

{

return complex(real - c。real, imag - c。imag);

}

inline complex complex::operator *(const complex &c)

{

return complex(real * c。real - imag * c。imag, real * c。imag + imag * c。real);

}

inline complex complex::operator /(const complex &c)

{

return complex((real * c。real + imag + c。imag) / (c。real * c。real + c。imag * c。imag),

(imag * c。real - real * c。imag) / (c。real * c。real + c。imag * c。imag));

}

void print(const complex &c)

{

if(c。imag<0)

cout<

else

cout<

}

void main()

{

complex c1(2。0, 3。0), c2(4。0, -2。0), c3;

c3 = c1 + c2;

cout<<“\nc1+c2=”;

print(c3);

c3 = c1 - c2;

cout<<“\nc1-c2=”;

print(c3);

c3 = c1 * c2;

cout<<“\nc1*c2=”;

print(c3);

c3 = c1 / c2;

cout<<“\nc1/c2=”;

print(c3);

c3 = (c1+c2) * (c1-c2) * c2/c1;

cout<<“\n(c1+c2)*(c1-c2)*c2/c1=”;

print(c3);

cout<

}

Top