面向?qū)ο笊蠙C(jī)實(shí)驗(yàn)5(參考代碼)(共6頁(yè))_第1頁(yè)
面向?qū)ο笊蠙C(jī)實(shí)驗(yàn)5(參考代碼)(共6頁(yè))_第2頁(yè)
面向?qū)ο笊蠙C(jī)實(shí)驗(yàn)5(參考代碼)(共6頁(yè))_第3頁(yè)
面向?qū)ο笊蠙C(jī)實(shí)驗(yàn)5(參考代碼)(共6頁(yè))_第4頁(yè)
面向?qū)ο笊蠙C(jī)實(shí)驗(yàn)5(參考代碼)(共6頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)5-1編一個(gè)程序,用成員函數(shù)重載運(yùn)算符“+”和“-”將兩個(gè)二維數(shù)組相加和相減,要求第1個(gè)二維數(shù)組的值由構(gòu)造函數(shù)設(shè)置,另一個(gè)二維數(shù)組的值由鍵盤輸入。#include<iostream>using namespace std;#include<iomanip>const int row=2;const int col=3;class array public: array();/構(gòu)造函數(shù) array(int a,int b,int c,int d,int e,int f); void get_array();/由鍵盤輸入數(shù)組的值 void di

2、splay();/顯示數(shù)組的值 array operator+(array &X);/將兩個(gè)數(shù)組相加 array operator-(array &X);/將兩個(gè)數(shù)組相減private: int varrowcol;array:array()for(int i=0; i<row; i+)for(int j=0;j<col; j+)varij=0;array:array(int a,int b,int c,int d,int e,int f)/由構(gòu)造函數(shù)設(shè)置數(shù)組的值var00=a;var01=b;var02=c;var10=d;var11=e;var12=f;void

3、 array:get_array()/由鍵盤輸入數(shù)組的值cout<<"Please input 2*3 dimension data:"<<endl;for(int i=0; i<row;i+)for(int j=0;j<col;j+)cin>>varij;void array:display()/顯示數(shù)組的值for(int i=0;i<row;i+)for(int j=0;j<col;j+)cout<<setw(5)<<varij;cout<<endl;array array:

4、operator+(array &X)/將兩個(gè)數(shù)組相加array temp;for(int i=0;i<row;i+)for(int j=0;j<col;j+)temp.varij=varij+X.varij; return temp;array array:operator-(array &X)/將兩個(gè)數(shù)組相減array temp;for(int i=0;i<row; i+)for(int j=0;j<col;j+)temp.varij=varij-X.varij;return temp;int main()array X(11,22,33,44,55

5、,66);array Y,Z;Y.get_array();cout<<"Display object X"<<endl;X.display();cout<<"Display object Y"<<endl;Y.display();Z=X+Y;cout<<"Display object Z=X+Y"<<endl;Z.display();Z=X-Y; cout<<"Display object Z=X-Y"<<endl;Z.

6、display(); return 0;實(shí)驗(yàn)5-2將實(shí)驗(yàn)5-1用友元函數(shù)重載運(yùn)算符“”和“-”將兩個(gè)二維數(shù)組相加和相減。#include<iostream.h>#include<iomanip.h>/using namespace std;const int row=2;const int col=3;class array public: array();/構(gòu)造函數(shù) array(int a,int b,int c,int d,int e,int f); void get_array();/由鍵盤輸入數(shù)組的值 void display();/顯示數(shù)組的值 friend

7、array operator+(array &X, array &Y);/將兩個(gè)數(shù)組相加 friend array operator-(array &X, array &Y);/將兩個(gè)數(shù)組相減private: int varrowcol;array:array()for(int i=0; i<row; i+)for(int j=0;j<col; j+)varij=0;array:array(int a,int b,int c,int d,int e,int f)/由構(gòu)造函數(shù)設(shè)置數(shù)組的值var00=a;var01=b;var02=c;var10=d;v

8、ar11=e;var12=f;void array:get_array()/由鍵盤輸入數(shù)組的值cout<<"Please input 2*3 dimension data:"<<endl;for(int i=0; i<row;i+)for(int j=0;j<col;j+)cin>>varij;void array:display()/顯示數(shù)組的值for(int i=0;i<row;i+)for(int j=0;j<col;j+)cout<<setw(5)<<varij;cout<&l

9、t;endl;array operator+(array &X, array &Y)/將兩個(gè)數(shù)組相加array temp;for(int i=0;i<row;i+)for(int j=0;j<col;j+)temp.varij=Y.varij+X.varij; return temp;array operator-(array &X, array &Y)/將兩個(gè)數(shù)組相減array temp;for(int i=0;i<row; i+)for(int j=0;j<col;j+)temp.varij=X.varij-Y.varij;retur

10、n temp;int main()array X(11,22,33,44,55,66);array Y,Z;Y.get_array();cout<<"Display object X"<<endl;X.display();cout<<"Display object Y"<<endl;Y.display();Z=X+Y;cout<<"Display object Z=X+Y"<<endl;Z.display();Z=X-Y; cout<<"Di

11、splay object Z=X-Y"<<endl;Z.display(); return 0;實(shí)驗(yàn)5-3編寫一個(gè)程序,要求:(1)聲明一個(gè)類complex,定義類complex的兩個(gè)對(duì)象c1和c2,對(duì)象c1通過構(gòu)造函數(shù)直接指定復(fù)數(shù)的實(shí)部和虛部(類私有數(shù)據(jù)成員為double類型的real和imag)為2.5及3.7,對(duì)象c2通過構(gòu)造函數(shù)直接指定復(fù)數(shù)的實(shí)部和虛部為4.2及6.5;(2)定義友元運(yùn)算符重載函數(shù),它以c1、c2對(duì)象為參數(shù),調(diào)用該函數(shù)時(shí)能返回兩個(gè)復(fù)數(shù)對(duì)象相加操作;(3)定義成員函數(shù)print,調(diào)用該函數(shù)時(shí),以格式“(real,imag)”輸出當(dāng)前對(duì)象的實(shí)部和虛部,

12、例如:對(duì)象的實(shí)部和虛部分別是4.2和6.5,則調(diào)用print函數(shù)輸出格式為:(4.2,6.5);(4)編寫主程序,計(jì)算出復(fù)數(shù)對(duì)象c1和c2相加結(jié)果,并將其結(jié)果輸出。#include<iostream.h>class complexpublic:complex(double r=0,double i=0);friend complex operator+(const complex c1,const complex c2);void print();private:double real,imag;complex:complex(double r,double i)real=r;im

13、ag=i;complex operator+(const complex c1,const complex c2)complex temp;temp.real=c1.real+c2.real;temp.imag=c1.imag+c2.imag;return temp;void complex:print() cout<<"("<<real<<","<<imag<<")"<<endl; int main()complex c1(2.5,3.7),c2(4.2,6.5

14、);complex c;c=c1+c2;c.print();return 0;實(shí)驗(yàn)5-4定義復(fù)數(shù)類的加法、減法與乘法運(yùn)算。#include<iostream.h>class Complexpublic: Complex(double r=0,double v=0):real(r),imag(v)/構(gòu)造函數(shù) friend Complex operator+(Complex a,Complex b);/在類內(nèi)對(duì)友元函數(shù)進(jìn)行聲明friend Complex operator-(Complex a,Complex b);friend Complex operator*(Complex a,

15、Complex b);friend ostream& operator<<(ostream& out,Complex& a);private:double real;double imag;/輸出運(yùn)算符重載的實(shí)現(xiàn)ostream& operator<<(ostream&out,Complex&a)return out<<a.real<<"+"<<a.imag<<"in"/"+"運(yùn)算符重載的實(shí)現(xiàn)Complex operator+(Complex a,Complex b)return Complex(a.real+b.real,a.imag+b.imag); /"-"運(yùn)算符重載的實(shí)現(xiàn)Complex operator-(Complex a,Complex b)return Complex(a.real-b.real,a.imag-b.imag);/"*"運(yùn)算符重載的實(shí)現(xiàn)Complex operator*(Complex a,Complex b)return Complex(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論