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

2021-07-11 21:53:25 字數 1058 閱讀 3826

/*

*檔名:zhang.cpp

*完成日期:2023年5月19日

*版本號:v1.0

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

*/#includeusing namespace std;

class complex

complex(double r,double i)

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

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

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

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

void display();

private:

double real;

double imag;

};//對運算子的過載

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

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

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

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

void complex::display()//輸出計算後的複數

學習心得:

這個程式運用的友元函式感覺比上乙個用成員函式的要複雜一些,在operator要寫兩個變數但執行結果是一樣的。在用成員函式過載的時候它是隱含了乙個complex*this所以感覺會更加簡單,但友元函式給人感覺是會更加清晰。

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

檔名稱 main.cpp 作 者 岳成豔2016年5月22號 版 本 號 vc 6.0 問題描述 請用類的友元函式,成員函式,定義複數類過載運算子 使之能用於複數的加減乘除。程式輸入 略 程式輸出 略 includeusing namespace std class complex complex ...

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

檔名稱 第12周專案1 實現複數類中的運算子過載 1 完成日期 2016.5.17 版本號 v1.0 問題描述 請用類的成員函式,定義複數類過載運算子 使之能用於複數的加減乘除 輸入描述 程式輸出 includeusing namespace std class complex complex do...

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

問題及 檔名稱 test.cpp 完成日期 2016年5月23日 版本號 v1.0 問題描述 1 請用類的成員函式,定義複數類過載運算子 使之能用於複數的加減乘除 輸入描述 程式輸出 includeusing namespace std class complex complex double r,...