第12周專案一(2) 實現複數中的運算子過載

2021-07-13 19:33:57 字數 2219 閱讀 9026

*   

*煙台大學計算機學院

*檔名稱:xiangmu1.cpp

*作 者:李亞輝

*完成日期:2023年6月21日

*版 本 號:vc++6.0

*

*問題描述: 定義乙個完整的類,定義運算子功能,使之能與double型資料進行運算

*輸入描述: 無

*程式輸出: 無

.*/

#include using namespace std;

class complex

complex(double r,double i)

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);

void display();

private:

double real;

double imag;

};//複數相加:(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)

void complex::display()

int main()

//學習心得:進一步學習並運用了運算子過載,感覺在運用友元函式,與不用友元函式時,有很多運用規則、形式發生不同,這是應該注意的點,在基類的基礎上拓展其功能,也是對前面一些知識點的總結與運用。還是熟能生巧,感覺自己就是做的太少了,用起來很生澀,雖然老師每乙個知識點都會有給的相應的專案進行訓練,感覺自己還是做得太少了,果然實踐才是硬道理啊。

第12周 專案1(2)

問題及 檔名稱 main.cpp 作 者 賈慶嚴 完成日期 2016年6月15日 版 本 號 v1.0 問題描述 用類的成員函式,定義複數類過載運算子 使之能用於複數的加減乘除 include using namespace std class complex complex double r,do...

12周 專案一(2)

檔名稱 main.cpp 作 者 肖雪 完成日期 2016年5月26日 版 本 號 v1.0 問題描述 請用類的友元函式,而不是成員函式,再次定義複數類過載運算子 使之能用於複數的加減乘除 學習心得 成員函式和友元函式區別 相同點 對類的訪問方式相同,可以直接訪問類的任何訪問控制屬性的成員 可以通過...

第12周專案1 實現複數類中的運算子過載 (2)

4.檔名稱 main.cpp 6.完成日期 2016年5月26日 7.問題描述 定義複數過載運算子 使之用於複數的加減乘除,用友元函式,而不是成員函式。8.include using namespace std class complex complex double r,double i frie...