/* (程式頭部注釋開始)
* 程式的版權和版本宣告部分
* 檔名稱: c++第八周【任務1-2】
* 作 者: 李洪懸
* 完成日期: 2012 年 4 月 11 日
* 版 本 號:
* 對任務及求解方法的描述部分
* 輸入描述:
* 問題描述:實現複數類中的運算子過載
* 程式輸出:
* 程式頭部的注釋結束
*/
任務1】實現複數類中的運算子過載
定義乙個複數類過載運算子+、-、*、/,使之能用於複數的加減乘除。
(1)方案一:請用類的成員函式完成運算子的過載;
class complex
complex(double r,double i)
complex operator+(complex &c2);
complex operator-(complex &c2);
complex operator*(complex &c2);
complex operator/(complex &c2);
void display();
private:
double real;
double imag;
};//下面定義成員函式
int main()
(2)方案二:請用類的友元函式,而不是成員函式,完成上面提及的運算子的過載;
(3)方案三:在方案二的基礎上,擴充套件+、-、*、/運算子的功能,使之能與double型資料進行運算。設complex c; double d; c?d和d?c的結果為將d視為實部為d的複數同c運算的結果(其中?為+、-、*、/之一)。另外,定義一目運算子-,-c相當於0-c。
#include < iostream >
using 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;
};
//複數相加: (a+bi)+(c+di)=(a+c)+(b+d)i.
complex operator + (complex &c1 , complex &c2)
//複數相減:(a+bi)-(c+di)=(a-c)+(b-d)i.
complex operator - (complex &c1 , complex &c2)
//複數相乘:(a+bi)(c+di)=(ac-bd)+(bc+ad)i.
complex operator * (complex &c1 , complex &c2)
//複數相除:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)i
第八周 任務一
實驗內容 實現複數類中的運算子過載定義乙個複數類過載運算子 使之能用於複數的加減乘除。程式的版權和版本宣告部分 檔名稱 實現複數類中的運算子過載 作 者 薛廣晨 完成日期 2012 年 4 月 7 日 版 本號 x1.0 對任務及求解方法的描述部分 輸入描述 程式頭部的注釋結束 此處也刪除了斜槓 任...
第八周 任務四
實驗內容 實現分數的運算子過載 程式的版權和版本宣告部分 檔名稱 實現分數的運算子過載 作 者 薛廣晨 完成日期 2012 年 4 月 7 日 版 本號 x1.0 任務4 在任務3的基礎上拓展。分數類中的物件可以和整型數進行四則運算,且運算符合交換律。例如 cfraction a 1,3 b int...
第八周任務2
include using namespace std class ctime void settime int h,int m,int s void display 比較運算子 二目 的過載 bool operator ctime t bool operator ctime t bool oper...