版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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)算后再化簡) 、求反、比較( 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(); / 化簡(使分子分母沒有公因子) ;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ù)化簡 void
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教A版山西省大同市2023-2024學(xué)年高二上學(xué)期期末質(zhì)量監(jiān)測(cè)數(shù)學(xué)試題
- 林徽因課件教案
- 娜塔莎課件高中
- 2024年吉林省中考生物真題卷及答案解析
- 模板 卡通 課件
- 西京學(xué)院《新媒體數(shù)據(jù)挖掘?qū)嵱?xùn)》2022-2023學(xué)年期末試卷
- 西京學(xué)院《軟件測(cè)試技術(shù)》2021-2022學(xué)年期末試卷
- 測(cè)樹葉的面積
- 西京學(xué)院《機(jī)床電氣與技術(shù)》2022-2023學(xué)年期末試卷
- 西華師范大學(xué)《綜合自然地理》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024年光伏發(fā)電項(xiàng)目監(jiān)理協(xié)議
- GB/T 5526-2024動(dòng)植物油脂相對(duì)密度的測(cè)定
- GB/T 30893-2024雨生紅球藻粉
- 2024-2030年生活用紙產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報(bào)告
- 2024-2025學(xué)年江蘇省揚(yáng)州市邗江區(qū)梅嶺中學(xué)七年級(jí)(上)第一次月考數(shù)學(xué)試卷(含答案)
- 2024年制造業(yè)生產(chǎn)基地租賃協(xié)議模板版
- 自建房與鄰居商量間距協(xié)議書范文
- 高空拋物安全宣傳教育課件
- (必會(huì))軍隊(duì)文職(藥學(xué))近年考試真題題庫(含答案解析)
- 2024湖北武漢市洪山科技投資限公司招聘11人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 北師大版(2024新版)七年級(jí)上冊(cè)數(shù)學(xué)期中模擬測(cè)試卷 3套(含答案解析)
評(píng)論
0/150
提交評(píng)論