第六周專案六 複數模板類

2021-07-01 19:07:38 字數 1355 閱讀 8967

問題及**:

/* 

* 檔名稱:test.cpp

* 作 者:尚 月

* 完成日期:2023年 4 月 14 日

* 版 本 號:v1.0

* * 問題描述:閱讀教材例項,該例實現了乙個複數類,但美中不足的是,複數類的實部和虛部都固定只能是double型的。可以通過模板類的技術手段,設計complex,使實部和虛部的型別為定義物件時指定的實際型別。

(1)要求類成員函式在類外定義

(2)在此基礎上,再實現減法、乘法和除法

* 程式輸出:按要求輸出

*/

#includeusing namespace std;

template//類宣告前加模板宣告

class complex

complex(t r,t i)

complex complex_add(complex &c2);

complex complex_minus(complex &c2);

complex complex_multiply(complex &c2);

complex complex_divide(complex &c2);

void display();

private:

t real;//資料成員的型別,也將被物件定義時提供的實際型別代替

t imag;

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

template//每乙個成員函式的定義前,必須要宣告類模板

complexcomplex::complex_add(complex &c2)

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

template complexcomplex::complex_minus(complex &c2)

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

template complexcomplex::complex_multiply(complex&c2)

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

template complexcomplex::complex_divide(complex &c2)

template void complex ::display()

執行結果:

學習總結:初體驗模板類,有的地方還是有點兒亂,希望經過多練習後會有效果,加油。

第六周 專案六(3) 複數模板類

問題及 檔名稱 friend.cpp 作 者 李楠 完成日期 2015年4月12日 版 本 號 v1.0 可以通過模板類的技術手段,設計complex,使實部和虛部的型別為定義物件時指定的實際型別。輸入描述 3 友元函式提供了一種非成員函式訪問私有資料成員的途徑,模板類使類中的資料成員的型別變得靈活...

第六周專案六 複數模板類(2)

檔名稱 test.cpp 作 者 陳丹 完成日期 2015年4月16日 版本號 v1.0 問題描述 友元函式提供了一種非成員函式訪問私有資料成員的途徑,模板類使類中的資料成員的型別變得靈活,這兩種技術可以結合起來用。支援用友員函式實現的加法。輸入描述 程式輸出 include using names...

第六周專案六複數類模板(2)

問題及 檔名稱 test.cpp 作 者 郝俊宇 完成日期 2015年 4 月15 日 版 本 號 v1.0 問題描述 閱讀教材例10.1。該例實現了乙個複數類,但是美中不足的是,複數類的實部和虛部都固定只能是double型的。可以通過模板類的技術手段,設計complex,使實部和虛部的型別為定義物...