第九周 專案一 複數類中的運算子過載(續)

2021-07-02 13:10:02 字數 2403 閱讀 7074

/*

* all right reserved.

* 版本號:v1.0

** 問題描述:請用類的成員函式,定義複數類過載運算子+、-、*、/,使之能用於複數的加減乘除

*程式輸入:

*程式輸出:輸出c1、c2、c1+c2、c1-c2......

*/#include using namespace std;

class complex

complex(double r,double i)

complex operator-();

friend ostream& operator << (ostream& output, const complex& c);

friend istream& operator >> (istream& intput,complex& c);

friend complex operator+(complex &c1, complex &c2);

friend complex operator+(double d1, complex &c2);

friend complex operator+(complex &c1, double d2);

friend complex operator-(complex &c1, complex &c2);

friend complex operator-(double d1, complex &c2);

friend complex operator-(complex &c1, double d2);

friend complex operator*(complex &c1, complex &c2);

friend complex operator*(double d1, complex &c2);

friend complex operator*(complex &c1, double d2);

friend complex operator/(complex &c1, complex &c2);

friend complex operator/(double d1, complex &c2);

friend complex operator/(complex &c1, double d2);

private:

double real;

double imag;

};ostream& operator << (ostream& output, const complex& c)

while(!(sign=='+'||sign=='-')&&i=='i');

c.real=a;

c.imag=(sign='+')?b:-b;

return input;

}complex complex::operator-()

//複數相加:(a+bi)+(c+di)=(a+c)+(b+d)i.

complex operator+(complex &c1, complex &c2)

complex operator+(double d1, complex &c2)

complex operator+(complex &c1, double d2)

//複數相減:(a+bi)-(c+di)=(a-c)+(b-d)i.

complex operator-(complex &c1, complex &c2)

complex operator-(double d1, complex &c2)

complex operator-(complex &c1, double d2)

//複數相乘:(a+bi)(c+di)=(ac-bd)+(bc+ad)i.

complex operator*(complex &c1, complex &c2)

complex operator*(double d1, complex &c2)

complex operator*(complex &c1, double d2)

//複數相除:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)i

complex operator/(complex &c1, complex &c2)

complex operator/(double d1, complex &c2)

complex operator/(complex &c1, double d2)

int main()

{ complex c1,c2,c3;

double d=11;

cout

cout

cout<

測試圖示:

第九周(專案一) 實現複數類中的運算子過載。

02.02.煙台大學計算機學院學生 03.03.all right reserved.04.04.檔名稱 煙台大學計算機學院學生 05.05.all right reserved.06.06.檔名稱 實現複數類中的運算子過載 08.08.完成日期 2013年4月22日 09.09.版本號 v1.0 ...

第九周 專案一 複數類中的運算子過載(續)

問題及 檔名稱 test.cpp 完成日期 2015年4月29日 版本號 v1.0 問題描述 在複數類中的運算子過載基礎上 1 再定義一目運算子 c相當於0 c。2 定義complex類中的 和 運算子的過載,實現輸入和輸出,改造原程式中對運算結果顯示方式,使程式讀起來更自然。輸入描述 略 程式輸出...

第九周專案一 複數類中的運算子過載(續)

檔名稱 test.cpp 作 者 陳丹 完成日期 2015年5月8日 版本號 v1.0 問題描述 在複數類中的運算子過載基礎上 1 再定義一目運算子 c相當於0 c。2 定義complex類中的 和 運算子的過載,實現輸入和輸出 輸入描述 程式輸出 include using namespace s...