




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+運(yùn)算符重載習(xí)題Task8-1/*1. 定義一個(gè)復(fù)數(shù)類 Complex,重載運(yùn)算符“ +”,使之能用于復(fù)數(shù)的加法運(yùn)算 將運(yùn)算符函數(shù)重載為非成員、非友元的普通函數(shù)。編寫程序,求兩個(gè)復(fù)數(shù)之和*/#includeusing namespace std;class Complexpublic:Complex()real=0;imag=0;Complex(double r,double i)real=r;imag=i;void display();double real;double imag;void Complex:display()cout(real,imagi);Complex operato
2、r +(Complex &c1,Complex &c2)Complex p;p.real=c1.real+c2.real;p.imag=c1.imag+c2.imag;return p;int main()Complex c1(3,5),c2(2,5),c3;c1.display();cout+;c2.display();cout=;c3=c1+c2;c3.display();Task8-2Complex 類的成員函數(shù),/*2. 定義一個(gè)復(fù)數(shù)類 Complex,重載運(yùn)算符“ +”、 使之能用于復(fù)數(shù)的加、減、乘、除。運(yùn)算符重載函數(shù)作為 編程,分別求兩個(gè)復(fù)數(shù)之和差積商。*/ #includeusi
3、ng namespace std; class Complexpublic:Complex()real=0;imag=0;Complex(double r,double i)real=r;imag=i;Complex operator+(Complex &c2);Complex operator-(Complex &c2);Complex operator*(Complex &c2);Complex operator/(Complex &c2);void display();private:double real;double imag;Complex Complex:operator +(C
4、omplex &c2) Complex c;c.real=real+c2.real;c.imag=imag+c2.imag;return c;Complex Complex:operator -(Complex &c2) Complex c;c.real=real-c2.real;c.imag=imag-c2.imag;return c;Complex Complex:operator *(Complex &c2) Complex c;c.real=real*c2.real;c.imag=imag*c2.imag;return c;Complex Complex:operator /(Comp
5、lex &c2) Complex c;c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);return c;void Complex:display()cout(real,imagi)endl; int main()Complex c1(3,4),c2(5,-10),c3; c3=c1+c2;coutc1+c2=;c3.display();c3=c1-c2;coutc1-c
6、2=;c3.display();c3=c1*c2;coutc1*c2=;c3.display();c3=c1/c2; coutc1/c2=; c3.display(); return 0;Task8-3重載運(yùn)算符“ +”、 c=a+b、 c=a*b 。、” * ”、” / ”,/* 求兩個(gè)矩陣之和、差、積、商,使之能用于矩陣向加減乘除,如 */ #include #define n 2#define m 3/定義 Matrix 類using namespace std; class Matrix public:Matrix();/friend Matrix operator+(Matrix &
7、,Matrix &);/friend Matrix operator-(Matrix &,Matrix &); friend Matrix operator*(Matrix &,Matrix &); friend Matrix operator/(Matrix &,Matrix &);void input(); /void display(); / private:默認(rèn)構(gòu)造函數(shù) 重載運(yùn)算符“ +輸入數(shù)據(jù)函數(shù)輸出數(shù)據(jù)函數(shù)int matnm;定義構(gòu)造函數(shù);Matrix:Matrix() /for(int i=0;in;i+)for(int j=0;jm;j+)matij=0;Matrix oper
8、ator+(Matrix&a,Matrix &b)/定義重載運(yùn)算符+”函Matrix c;for(int i=0;in;i+)for(int j=0;jm;j+)c.matij=a.matij+b.matij; return c;Matrix operator-(Matrix &a,Matrix &b) 數(shù)/定義重載運(yùn)算符+”函Matrix c;for(int i=0;in;i+)for(int j=0;jm;j+) c.matij=a.matij-b.matij; return c;Matrix operator*(Matrix &a,Matrix &b) 數(shù)/定義重載運(yùn)算符+”函Matri
9、x c;for(int i=0;in;i+)for(int j=0;jm;j+)c.matij=a.matij*b.matij;return c;定義重載運(yùn)算符“ +”函Matrix operator/(Matrix &a,Matrix &b) / 數(shù)Matrix c;for(int i=0;in;i+)for(int j=0;jm;j+)c.matij=a.matij/b.matij;return c;定義輸入數(shù)據(jù)函數(shù)void Matrix:input() / coutinput value of matrix:endl; int i,j;for(i=0;in;i+) for(j=0;jma
10、tij;定義輸出數(shù)據(jù)函數(shù)void Matrix:display() /for (int i=0;in;i+)for(int j=0;jm;j+)coutmatij ; coutendl;int main()Matrix a,b,c;a. input();b. input(); coutendlMatrix a:endl;a. display(); coutendlMatrix b:endl;b. display();用重載運(yùn)算符“ +”實(shí)現(xiàn)兩個(gè)c=a+b; / 矩陣相加coutendlMatrix c = Matrix a + Matrix b :endl;c. display();用重載運(yùn)算
11、符 “ +”實(shí)現(xiàn)兩個(gè)c=a-b; /矩陣相加coutendlMatrix c = Matrix a - Matrix b :endl;c. display();c=a*b; / 矩陣相加coutendlMatrix c = Matrix a * Matrix b :endl; c.display();c=a/b; / 矩陣相加coutendlMatrix c = Matrix a / Matrix b :和, 使之能用于該矩陣的輸入和輸出 */#include #define n 2#define m 3using namespace std;class Matrix /public:Matr
12、ix(); /friend Matrix operator+(Matrix &,Matrix &); /friend Matrix operator-(Matrix &,Matrix &);friend Matrix operator*(Matrix &,Matrix &);friend Matrix operator/(Matrix &,Matrix &);friend ostream& operator(istream& ,Matrix&); void input(); / void display(); /定義 Matrix 類默認(rèn)構(gòu)造函數(shù)重載運(yùn)算符“ +”輸入數(shù)據(jù)函數(shù)輸出數(shù)據(jù)函數(shù)pri
13、vate:int matnm;Matrix:Matrix() /for(int i=0;in;i+)for(int j=0;jm;j+)matij=0;定義構(gòu)造函數(shù)Matrix operator+(Matrix&a,Matrix &b)/定義重載運(yùn)算符“ +”函Matrix c;for(int i=0;in;i+)for(int j=0;jm;j+)c.matij=a.matij+b.matij;return c;Matrix operator-(Matrix &a,Matrix &b) 數(shù)/定義重載運(yùn)算符“ +”函Matrix c;for(int i=0;in;i+)for(int j=0;
14、jm;j+) c.matij=a.matij-b.matij; return c;Matrix operator*(Matrix &a,Matrix &b) 數(shù)/定義重載運(yùn)算符“ +”函Matrix c;for(int i=0;in;i+)for(int j=0;jm;j+) c.matij=a.matij*b.matij; return c;Matrix operator/(Matrix &a,Matrix &b) 數(shù)/定義重載運(yùn)算符“ +”函Matrix c;for(int i=0;in;i+)for(int j=0;jm;j+)c.matij=a.matij/b.matij;return
15、 c;ostream& operator(ostream& out,Matrix& c)for(int i=0;in;i+)for(int j=0;jm;j+) coutc.matijt;cout(istream& in,Matrix& c) for(int i=0;in;i+)for(int j=0;jc.matij;coutendl;return in;void Matrix:input() / coutinput value of matrix:endl; int i,j;for(i=0;in;i+) for(j=0;jmatij;void Matrix:display() /for (
16、int i=0;in;i+)for(int j=0;jm;j+) coutmatij ; coutendl;int main()Matrix a,b,c;cout 請(qǐng)輸入第一個(gè) n*m矩陣 a;cout 請(qǐng)輸入第二個(gè) n*m 矩陣 b;coutendlMatrix a:endl;couta;coutendlMatrix b:endl; coutb;c=a+b; / 矩陣相加coutendlMatrix c = Matrix a + Matrix b :endl;定義輸入數(shù)據(jù)函數(shù)定義輸出數(shù)據(jù)函數(shù)用重載運(yùn)算符“ +”實(shí)現(xiàn)兩個(gè)c=a-b;/用重載運(yùn)算符“+”實(shí)現(xiàn)兩個(gè)矩陣相加coutendlMatri
17、x c =Matrix a - Matrix b :endl;coutc;c=a*b;/用重載運(yùn)算符“+”實(shí)現(xiàn)兩個(gè)矩陣相加 coutendlMatrix c = Matrix a * Matrix b :endl;coutc;c=a/b; / 用重載運(yùn)算符“ +”實(shí)現(xiàn)兩個(gè) 矩陣相加coutendlMatrix c = Matrix a / Matrix b :endl; coutc;return 0;Task8-5/*5. 實(shí)現(xiàn)分?jǐn)?shù)類中的運(yùn)算符重載,在分?jǐn)?shù)類中可以完成分?jǐn)?shù)的加減乘除 (運(yùn)算后再化簡(jiǎn)) 、求反、比較( 6 種關(guān)系)的運(yùn)算。*/ #include #include using na
18、mespace std; int gcd(int m,int n);class Fractionprivate:int nume; /分子int deno; /分母public:Fraction(int nu=0,int de=1); /構(gòu)造函數(shù),初始化用void Set(int nu=0,int de=1); / 置值,改變值時(shí)用 Fraction operator+(Fraction &c2); Fraction operator-(Fraction &c2); Fraction operator*(Fraction &c2); Fraction operator/(Fraction &c
19、2);bool operator=(Fraction &c2);Fraction operator-();void display();void Simplify(); / 化簡(jiǎn)(使分子分母沒(méi)有公因子) ;Fraction:Fraction(int nu,int de) if(de!=0) nume=nu; deno=de;elsecout 格式錯(cuò)誤 , 程序退出 n; exit(0);void Fraction: Set(int nu,int de) if(de!=0) nume=nu; deno=de;void Fraction:display() coutnume/denoendl;/ 求分子,分母最大公約數(shù)int gcd(int m,int n)int r; if(mn) r=m; m=n; n=r;while(r=m%n) if(r=0) break;m=n; n=r; return n;/ 將分?jǐn)?shù)化簡(jiǎn) void
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 培養(yǎng)跨行業(yè)技能的重要性計(jì)劃
- 七年級(jí)下冊(cè)《幾何圖形與圖文信息問(wèn)題》課件與練習(xí)
- 2025年氣體摻混設(shè)備項(xiàng)目建議書
- 2025年中文信息處理平臺(tái)項(xiàng)目發(fā)展計(jì)劃
- 2025年衛(wèi)星數(shù)據(jù)采集系統(tǒng)項(xiàng)目發(fā)展計(jì)劃
- 2025年EMI屏蔽材料項(xiàng)目發(fā)展計(jì)劃
- 冷鏈物流溫度監(jiān)控實(shí)施細(xì)節(jié)
- 電影制作與發(fā)行合作框架
- 2025年活性白土項(xiàng)目建議書
- 案場(chǎng)物業(yè)經(jīng)理年終工作總結(jié)
- 連續(xù)性腎替代治療抗菌藥物劑量調(diào)整專家共識(shí)(2024年版)解讀
- 腦梗死臨床表現(xiàn)護(hù)理
- 新高考英語(yǔ)|語(yǔ)法專項(xiàng)之括號(hào)法突破長(zhǎng)難句 講解課件-2025屆高三英語(yǔ)上學(xué)期一輪復(fù)習(xí)專項(xiàng)
- 《光通信技術(shù)簡(jiǎn)介》課件
- 2024年廣西區(qū)公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 健康體檢基礎(chǔ)知識(shí)培訓(xùn)
- 【課件】Unit+6+section+B+1a~2b+課件人教版七年級(jí)英語(yǔ)上冊(cè)
- Unit 3 We should obey the rules.Lesson 13(教學(xué)設(shè)計(jì))-2023-2024學(xué)年人教精通版英語(yǔ)五年級(jí)下冊(cè)
- 2024年平面設(shè)計(jì)師技能及理論知識(shí)考試題庫(kù)(附含答案)
- 2024年農(nóng)業(yè)農(nóng)村基礎(chǔ)知識(shí)考試題庫(kù)(附答案)
- 2023新一代變電站二次系統(tǒng)技術(shù)規(guī)范第3部分:綜合應(yīng)用主機(jī)
評(píng)論
0/150
提交評(píng)論