版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上34、運算符重載的含義是什么?是否所有的運算符都可以重載?答:運算符重載是對已有的運算符賦予多重含義,同一個運算符作用于不用類型的數(shù)據(jù)導(dǎo)致不同行為。不是。在C+語言中除了(點運算符(.)、作用域運算符(:)、條件運算符(?:)、成員指針運算符(*)、編譯預(yù)處理命令的開始符號(#)五個運算符不能被重載外,其他運算符均可重載。35、運算符重載有哪兩種形式?這兩種形式有何區(qū)別?答:運算符重載有成員函數(shù)和友元函數(shù)兩種形式。 區(qū)別:運算符作為成員函數(shù)重載時的參數(shù)比作為友元函數(shù)重載時少一個。例如使用成員函數(shù)重載雙目運算符時只用一個參數(shù),而使用友元函數(shù)重載時要用兩個參數(shù)。 36、轉(zhuǎn)
2、換函數(shù)的作用是什么?答:1、支持混合類型表達式 2、轉(zhuǎn)換減少所需操作符的數(shù)目 37、分析下列程序的結(jié)果。#includeclass CMatrix public: cMatrix(int r,int c) row=r;col=c; element=new doublerow*col; double& operator() (int x,int y) return elementcol*(x-1)+y-1; double& operator() (int x,int y) const return elementcol*(x-1)+y-1; CMatrix() delete element; p
3、rivate: double *element; int row,col;void main() CMatrix m(5,8); for(int i=;i5;i+) m(i,1)=i+5; for(i=0;i5;i+) coutm(i,1)”,”; coutendl;運行結(jié)果:5,6,7,8,9, 38、定義一個復(fù)數(shù)類,通過重載運算符:=、+=、+、-、*、/,直接實現(xiàn)兩個復(fù)數(shù)之間的各種運算。編寫一個完整的程序(包括測試各種運算符的程序部分)。提示:兩復(fù)數(shù)相乘的計算公式為:(a+bi)*(c+di)=(ac-bd)+(ab+bc)I,而兩復(fù)數(shù)相除的計算公式為:(a+bi)/(c+di)=(ac
4、+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d)i。#include using namespace std; class complexpublic: complex(int i=0, int j=0):real(i), image(j) complex(const complex &a): real(a.real), image(a.image) complex& operator=(const complex &a) real = a.real; image = a.image; return *this; complex& operator+=(const comple
5、x &a) real = real + a.real; image = image + a.image; return *this; void display() cout ( real , image ) endl; friend complex operator+(const complex&, const complex&); friend complex operator-(const complex&, const complex&); friend complex operator*(const complex&, const complex&); friend complex o
6、perator/(const complex&, const complex&);private: int real; int image; complex operator+(const complex &a, const complex &b) complex r(a); r.real += b.real; r.image += b.image; return r; complex operator-(const complex &a, const complex &b) complex r; r.real = r.real - b.real; r.image = r.image - b.
7、image; return r; complex operator *(const complex &c1, const complex &c2) complex t; t.real=c1.real * c2.real - c1.image * c2.image; t.image = c1.image*c2.real +c1.real* c2.image; return t; complex operator/(const complex &c1, const complex &c2) complex t; t.real = (c1.real*c2.real + c1.image*c2.ima
8、ge) / (c2.real*c2.real+c2.image*c2.image); t.image = (c2.image*c2.real - c1.real*c2.image) / (c2.real*c2.real + c2.image*c2.image); return t; int main() complex a(32,6); complex b(23,63); complex c; c=a+b; c.display(); a+=b; a.display(); c=a-b; c.display(); c=a*b; c.display(); c=a/b; c.display(); re
9、turn 0;39、定義一個學(xué)生類,數(shù)據(jù)成員包括:姓名、學(xué)號、C+、英語和數(shù)學(xué)成績。重載運算符“”,實現(xiàn)學(xué)生對象的直接輸入輸出。增加轉(zhuǎn)換函數(shù),實現(xiàn)姓名的轉(zhuǎn)換。設(shè)計一個完整的程序,驗證成員函數(shù)和重載運算符的正確性。#includeusing namespace std; class studentpublic: student(char *n= ):number(201),cpp(0.0),eng(0.0),math(0.0) void set(char *nm,char *num,float _cpp,float ma,float _eng) name=nm; mumber=num; cpp=
10、_cpp; math=ma; eng=_eng; friend ostream& operator(ostream &in, student &b);private: char name20; char number20; float cpp; float math; float eng; ostream& operator(ostream &out, const student &a) out a.number a.cpp a.math a.eng (ostream &in, student &b) in a.number a.cpp a.math a.eng;
11、int main() student a; a.set(linda,201,34,64,64); cout b; cout b;40、定義一個平面直角坐標系上的一個點的類CPoint,重載“+”和“-”運算符,并區(qū)分這兩種運算符的前置和后置運算,構(gòu)造一個完整的程序。#include using namespace std; class CPointpublic: CPoint(int i=0, int j=0): x(i), y(j) CPoint& operator+(); /前置 CPoint operator+(int); /后置 CPoint& operator-(); /前置 CPo
12、int operator-(int); /后置 void display();private: int x; int y; CPoint& CPoint:operator +() +x; +y; return *this; CPoint& CPoint:operator -() -x; -y; return *this; CPoint CPoint:operator +(int) CPoint ret(*this); +x; +y; return ret; CPoint CPoint:operator -(int) CPoint ret(*this); -x; -y; return ret;
13、void CPoint:display() cout x y endl; int main() CPoint dot1(2,5); +dot1; dot1.display(); CPoint dot2(1,2); -dot2; dot2.display(); CPoint dot3(2,2); dot3+; dot3.display(); return 0;41、在上題的基礎(chǔ)上,為其定義友元函數(shù)實現(xiàn)重載運算符“+”。#include using namespace std; class CPointpublic: CPoint(int i=0, int j=0): x(i), y(j) CPo
14、int& operator+(); /前置 CPoint operator+(int); /后置 CPoint& operator-(); /前置 CPoint operator-(int); /后置 void display(); friend CPoint operator+(const CPoint &a, const CPoint &b);private: int x; int y; CPoint& CPoint:operator +() +x; +y; return *this; CPoint& CPoint:operator -() -x; -y; return *this; CPoint CPoint:operator +(int) CPoint ret(*this); +x; +y; return ret; CPoint CPoint:operator -(int) CPoint ret(*this); -x; -y; return ret; void CPoint:display() cout x y endl; CPoint operator+(const CPoint &a, const CPoint &b) CPoint t(a); t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版學(xué)校游泳池兒童游樂區(qū)設(shè)計與施工承包合同示范3篇
- 2025版土地使用權(quán)出讓居間合同(新型合作模式)3篇
- 2025版城市住宅小區(qū)全面滅蟑螂服務(wù)合同4篇
- 2025版土地測繪保密協(xié)議:保密項目合作與技術(shù)支持合同3篇
- 乳粉產(chǎn)品質(zhì)量法律規(guī)制與合規(guī)考核試卷
- 會展產(chǎn)業(yè)與數(shù)字經(jīng)濟的創(chuàng)新結(jié)合考核試卷
- 2025版十五年商業(yè)地產(chǎn)租賃合同范本15篇
- 2025版城市慶典活動委托演出合同3篇
- 2025年水土保持設(shè)施驗收技術(shù)服務(wù)與生態(tài)修復(fù)實施合同3篇
- 2025年醫(yī)療設(shè)備使用及維護管理協(xié)議
- 南通市2025屆高三第一次調(diào)研測試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學(xué)一模試卷
- 2025中國人民保險集團校園招聘高頻重點提升(共500題)附帶答案詳解
- 重癥患者家屬溝通管理制度
- 碳排放管理員 (碳排放核查員) 理論知識考核要素細目表三級
- 2024年河北省中考數(shù)學(xué)試題(含答案解析)
- 小學(xué)二年級數(shù)學(xué)口算練習(xí)題1000道
- 納布啡在產(chǎn)科及分娩鎮(zhèn)痛的應(yīng)用
- DZ/T 0462.4-2023 礦產(chǎn)資源“三率”指標要求 第4部分:銅等12種有色金屬礦產(chǎn)(正式版)
- 化學(xué)-福建省龍巖市2024屆高三下學(xué)期三月教學(xué)質(zhì)量檢測(一模)試題和答案
- 凸優(yōu)化在經(jīng)濟學(xué)與金融學(xué)中的應(yīng)用
評論
0/150
提交評論