C++中的復數(shù)類_第1頁
C++中的復數(shù)類_第2頁
C++中的復數(shù)類_第3頁
C++中的復數(shù)類_第4頁
C++中的復數(shù)類_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、C+中的復數(shù)類/ 類的定義( mycomplex.h )#i nclude #if ndef mycomplex_h#defi ne mycomplex_hclass complexprivate:float real;float image;public:complex(float=0.0,float=0.0); /構(gòu)造函數(shù)complex(c onst complex &c);/拷貝構(gòu)造函數(shù)/以下為運算函數(shù)complex add(c onst complex &c) con st; /加運算complex sub(c onst complex &c) con st; /減運算complex

2、mul(c onst complex &c) con st; /乘運算complex div(c onst complex &c) con st; /除運算/ 以下為普通成員函數(shù)float getreal(void) con st;/獲取實部float getimage(void) con st;/獲取虛部void setcomplex(float r,float i);/重新設定復數(shù)值/以下為輸出輸入函數(shù)重載friendostream& operator(istream& in, complex& c);/重載/以下為運算符重載frie nd complex operator+(float

3、r,const complex& c); /frie nd complex operator+(i nt r,const complex& c);frie nd complex operator-float r,const complex& c);friend complex operator-(int r,const complex& c);frie nd complex operator*(float r,c onst complex& c);friend complex operator*(int r,const complex& c);frie nd complex operator+

4、(c onst complex& c,float r);frie nd complex operator+(c onst complex& c,i nt r);frie nd complex operator-(c onst complex& c,float r);frie nd complex operator-(c onst complex& c,i nt r);frie nd complex operator*(c onst complex& c,float r);frie nd complex operator*(c onst complex& c,i nt r);frie nd co

5、mplex operator/(float r,const complex& c);frie nd complex operator/ nt r,c onst complex& c);frie nd complex operator/(c on st complex& c,float r);優(yōu)質(zhì)范文.frie nd complex operator/(c onst complex& c,i nt r);frie nd complex operator+(c onst complex& c1,c onst complex& c2); frie nd complex operator-(c ons

6、t complex& c1,c onst complex& c2);frie nd complex operator*(c onst complex& c1,c onst complex& c2); frie nd complex operator/(c onst complex& c1,c onst complex& c2);/定義虛數(shù)單位ieconst complex ie(0,1);#en dif/ 類的實現(xiàn)(mycomplex.cpp)#i nclude #in clude mycomplex.h/構(gòu)造函數(shù)complex:complex(float r,float i)real=r;i

7、mage=i;/拷貝構(gòu)造函數(shù)complex:complex(c onst complex &c)real=c.real;image=c.image;/加運算complex complex:add(c onst complex &c) constcomplex t;t.rea匸real+c.real;t.image=image+c.image;return t;/減運算complex complex:sub(c onst complex &c) const complex t;優(yōu)質(zhì)范文.t.rea匸real-c.real;t.image=image-c.image;return t;/乘運算co

8、mplex complex:mul(c onst complex &c) constcomplex t;t.real=real*c.real-image*c.image;t.image=image*c.real+real*c.image;return t;/除運算complex complex:div(c onst complex &c) constif(!(c.real|c.image)撓畯?尼分母不能為零endl;exit;complex t;/獲取實部float complex:getreal(void) constreturn real;/獲取虛部float complex:getim

9、age(void) constreturn image;/設定復數(shù)值void complex:setcomplex(float r,float i)優(yōu)質(zhì)范文.real=r;image=i;/輸出重載ostream& operator0)outvvc.realvv+vvc.imagevvi;if(c.image(istream& in, complex& c)in c.realc.image;return in;/以下為運算符重載complex operator+(float r,const complex& c)complex t;return t;complex operator+(i nt

10、 r,const complex& c)complex t;t.rea匸r+c.real;t.image=c.image;return t;complex operator-float r,const complex& c)complex t;t.rea匸r-c.real;t.image=c.image;優(yōu)質(zhì)范文.return t;complex operator- nt r,c onst complex& c)complex t;t.rea匸r-c.real;t.image=c.image;return t;complex operator*(float r,c onst complex&

11、c)complex t;t.real=r*c.real;t.image=r*c.image;return t;complex operator*(i nt r,const complex& c)complex t;return t;complex operator+(c onst complex& c,float r)complex t;t.rea匸r+c.real;t.image=c.image;return t;complex operator+(c onst complex& c,i nt r)complex t;t.rea匸r+c.real;t.image=c.image;return

12、 t;complex operator-(c onst complex& c,float r)優(yōu)質(zhì)范文.complex t;t.rea匸r-c.real;t.image=c.image;return t;complex operator-(c onst complex& c,i nt r)complex t;t.rea匸r-c.real;t.image=c.image;return t;complex operator*(c onst complex& c,float r)complex t;return t;complex operator*(c onst complex& c,i nt r

13、)complex t;t.real=r*c.real;t.image=r*c.image;return t;complex operator/(float r,const complex& c)complex t(r,0);return t.div(c);complex operator/ nt r,c onst complex& c)complex t(float)r,O);return t.div(c);complex operator/(c onst complex& c,float r)優(yōu)質(zhì)范文.complex t;t.rea匸c.real/r;t.image=c.image/r;re

14、turn t;complex operator/(c onst complex& c,i nt r)complex t;t.real=c.real/(float)r;t.image=c.image/(float)r;return t;complex operator+(c onst complex& c1,c onst complex& c2)retur n c1.add(c2);complex operator-on st complex& c1,c onst complex& c2)retur n c1.sub(c2);complex operator*(c on st complex&

15、c1,c onst complex& c2)retur n c1.mul(c2);complex operator/(c onst complex& c1,c onst complex& c2)return c1.div(c2);/類的測試(test.cpp)#i nclude #in clude mycomplex.hint mai n()/測試函數(shù)運算complex c1,c2;c1.setcomplex(1,2);優(yōu)質(zhì)范文.c2.setcomplex(2,3); coutvc1+c2=vvc1.add(c2)vve ndl; coutvc1-c2=vvc1.sub(c2)vve ndl;coutvc1*c2=vvc1.mul(c2)vve ndl; coutvc1/c2=vvc1.div(c2)vve ndl;/測試運算符重載complex c;c=1+2*ie+3;coutce ndl;c=1+2*ie/3;coutce ndl;c=(1+2*ie)*(3+4*ie);coutcendl;/ 測試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論