閱讀教材例10.1。該例實現了乙個複數類,但是美中不足的是,複數類的實部和虛部都固定只能是double型的。可以通過模板類的技術手段,設計complex,使實部和虛部的型別為定義物件時指定的實際型別。
(1)要求類成員函式在類外定義。
(2)在此基礎上,再實現減法、乘法和除法
你可以使用的main()函式如下。
int main( )
/*
* all right reserved.
* 檔案:demo.cpp
* 版本號:v1.0
*/#include using namespace std;
templateclass 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.
templatecomplexcomplex::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)
templatevoid complex::display( )
執行結果:
第六周專案六 複數模板類
問題及 檔名稱 test.cpp 作 者 尚 月 完成日期 2015年 4 月 14 日 版 本 號 v1.0 問題描述 閱讀教材例項,該例實現了乙個複數類,但美中不足的是,複數類的實部和虛部都固定只能是double型的。可以通過模板類的技術手段,設計complex,使實部和虛部的型別為定義物件時指...
第六周專案六複數類模板(2)
問題及 檔名稱 test.cpp 作 者 郝俊宇 完成日期 2015年 4 月15 日 版 本 號 v1.0 問題描述 閱讀教材例10.1。該例實現了乙個複數類,但是美中不足的是,複數類的實部和虛部都固定只能是double型的。可以通過模板類的技術手段,設計complex,使實部和虛部的型別為定義物...
第六周 專案六(3) 複數模板類
問題及 檔名稱 friend.cpp 作 者 李楠 完成日期 2015年4月12日 版 本 號 v1.0 可以通過模板類的技術手段,設計complex,使實部和虛部的型別為定義物件時指定的實際型別。輸入描述 3 友元函式提供了一種非成員函式訪問私有資料成員的途徑,模板類使類中的資料成員的型別變得靈活...