C 第9周 春 專案1 複數類

2021-06-21 22:05:14 字數 2132 閱讀 7949

#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& input, 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()

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

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

2015 第9周專案1 複數類中的運算子過載(續)

專案1 複數類中的運算子過載 續 在複數類中的運算子過載 基礎上 1 再定義一目運算子 c相當於0 c。2 定義complex類中的 和 運算子的過載,實現輸入和輸出,改造原程式中對運算結果顯示方式,使程式讀起來更自然。include using namespace std class comple...

第5周專案6 複數類模板

檔名稱 project.cpp 完成日期 2015年4月16日 版本號 v1.0 問題描述 3 友元函式提供了一種非成員函式訪問私有資料成員的途徑,模板類使類中的資料成員的型別變得靈活,這兩種技術可以結合起來用。要求在前面方案的基礎上支援用友員函式實現的加法。用於測試的main 函式如下 輸入描述 ...