![C語(yǔ)言程序設(shè)計(jì)PPT課件_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/e6b90ed0-e405-4888-9818-79fb590f6547/e6b90ed0-e405-4888-9818-79fb590f65471.gif)
![C語(yǔ)言程序設(shè)計(jì)PPT課件_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/e6b90ed0-e405-4888-9818-79fb590f6547/e6b90ed0-e405-4888-9818-79fb590f65472.gif)
![C語(yǔ)言程序設(shè)計(jì)PPT課件_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/e6b90ed0-e405-4888-9818-79fb590f6547/e6b90ed0-e405-4888-9818-79fb590f65473.gif)
![C語(yǔ)言程序設(shè)計(jì)PPT課件_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/e6b90ed0-e405-4888-9818-79fb590f6547/e6b90ed0-e405-4888-9818-79fb590f65474.gif)
![C語(yǔ)言程序設(shè)計(jì)PPT課件_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/e6b90ed0-e405-4888-9818-79fb590f6547/e6b90ed0-e405-4888-9818-79fb590f65475.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+語(yǔ)言程序設(shè)計(jì)第十一組C+語(yǔ)言程序設(shè)計(jì)第九章 類(lèi)的特殊成員C+語(yǔ)言程序設(shè)計(jì)1C+語(yǔ)言程序設(shè)計(jì)2基本知識(shí)a9.5 運(yùn)算符重載 運(yùn)算符重載 是C+的一個(gè)特性,使得程序員可以把C+的運(yùn)算符擴(kuò)展到用戶(hù)自定義的類(lèi)類(lèi)型中 C+中預(yù)定義的運(yùn)算符,如+、=、等,其操作對(duì)象只能是基本數(shù)據(jù)類(lèi)型,對(duì)于很多用戶(hù)自定義類(lèi)型,也需要類(lèi)似的運(yùn)算操作 使用運(yùn)算符重載可以使C+代碼更直觀、易懂,函數(shù)調(diào)用更方便、簡(jiǎn)潔 運(yùn)算符重載的實(shí)質(zhì)就是函數(shù)重載 對(duì)已有的運(yùn)算符賦予多重含義,使同一運(yùn)算符作用于不同類(lèi)型的數(shù)據(jù)時(shí)發(fā)生不同的行為C+語(yǔ)言程序設(shè)計(jì)39.5 運(yùn)算符重載 例:使用字符串處理函數(shù)完成字符串的復(fù)制和連接C+語(yǔ)言程序設(shè)計(jì)4/使用
2、字符串處理函數(shù)復(fù)制和連接字符串使用字符串處理函數(shù)復(fù)制和連接字符串#include #include using namespace std;void main() char *s1=Hello; char *s2=world; char s380 =; strcpy(s3,s1); /字符串復(fù)制字符串復(fù)制 couts3endl; strcat(s3,s2); /字符串連接字符串連接 couts3endl;9.5 運(yùn)算符重載 例:使用重載運(yùn)算符“=”和“+”完成字符串的復(fù)制和連接C+語(yǔ)言程序設(shè)計(jì)5/使用重載運(yùn)算符復(fù)制和連接字符串使用重載運(yùn)算符復(fù)制和連接字符串#include #include u
3、sing namespace std;void main() string s1=Hello; string s2=world; string s3; s3=s1; /字符串復(fù)制字符串復(fù)制 couts3endl; s3=s1+s2; /字符串連接字符串連接 couts3endl;9.5 運(yùn)算符重載 運(yùn)算符重載的規(guī)則 重載運(yùn)算符時(shí),運(yùn)算符的運(yùn)算順序和優(yōu)先級(jí)不變,操作數(shù)個(gè)數(shù)不變 不能創(chuàng)造新的運(yùn)算符,只能重載C+中已有的運(yùn)算符,并且規(guī)定有6個(gè)運(yùn)算符不能重載 一般來(lái)講,重載后的運(yùn)算符的功能應(yīng)當(dāng)與運(yùn)算符的實(shí)際意義相符C+語(yǔ)言程序設(shè)計(jì)6運(yùn)運(yùn) 算算 符符含含 義義.類(lèi)屬關(guān)系運(yùn)算符類(lèi)屬關(guān)系運(yùn)算符.*成員指針運(yùn)
4、算符成員指針運(yùn)算符:作用域運(yùn)算符作用域運(yùn)算符?:條件運(yùn)算符條件運(yùn)算符#編譯預(yù)處理符號(hào)編譯預(yù)處理符號(hào)sizeof取數(shù)據(jù)類(lèi)型的長(zhǎng)度取數(shù)據(jù)類(lèi)型的長(zhǎng)度9.5 運(yùn)算符重載 運(yùn)算符重載的形式: 重載為類(lèi)的成員函數(shù) 函數(shù)定義可以放在類(lèi)的聲明中,也可以在類(lèi)聲明的外部 類(lèi)外定義的形式為:函數(shù)類(lèi)型 類(lèi)名:operator 運(yùn)算符(形參表) 函數(shù)體 重載為類(lèi)的友元函數(shù) 類(lèi)的聲明中需要聲明該函數(shù)為友元函數(shù):friend 函數(shù)類(lèi)型 operator 運(yùn)算符(形參表); 函數(shù)定義必須在類(lèi)的外部,形式為:函數(shù)類(lèi)型 operator 運(yùn)算符(形參表) 函數(shù)體 C+語(yǔ)言程序設(shè)計(jì)79.5 運(yùn)算符重載 關(guān)于運(yùn)算符重載定義的幾點(diǎn)說(shuō)明
5、 函數(shù)類(lèi)型指明了重載運(yùn)算符的返回值類(lèi)型,也就是運(yùn)算結(jié)果類(lèi)型 operator是定義運(yùn)算符重載的關(guān)鍵字 “運(yùn)算符”即要重載的運(yùn)算符名稱(chēng) 形參表給出的是運(yùn)算符需要的操作數(shù) 重載為成員函數(shù):對(duì)象本身就是其中的一個(gè)操作數(shù),形參表內(nèi)參數(shù)的數(shù)目比操作數(shù)的數(shù)目少一個(gè) 重載為友元函數(shù):每個(gè)形參代表運(yùn)算符的一個(gè)操作數(shù),形參表內(nèi)參數(shù)的數(shù)目等同于操作數(shù)的數(shù)目C+語(yǔ)言程序設(shè)計(jì)8 例:創(chuàng)建一個(gè)復(fù)數(shù)類(lèi),將+、+=運(yùn)算符重載為成員函數(shù)9.5 運(yùn)算符重載C+語(yǔ)言程序設(shè)計(jì)9/創(chuàng)建一個(gè)復(fù)數(shù)類(lèi),將創(chuàng)建一個(gè)復(fù)數(shù)類(lèi),將+、+=運(yùn)算符重載為成員函數(shù)運(yùn)算符重載為成員函數(shù)#include #include using namespace s
6、td;class complexpublic: complex(double real=0,double imag=0): r(real),i(imag) complex operator +(complex&);/重載運(yùn)算符的函數(shù)原型重載運(yùn)算符的函數(shù)原型 complex operator -(complex&); complex& operator +=(complex&); void print() coutsetiosflags(ios:showpos)r iiendl;private: double r , i;9.5 運(yùn)算符重載C+語(yǔ)言程序設(shè)計(jì)10co
7、mplex complex:operator +(complex& c)/重載重載“+”運(yùn)算符運(yùn)算符 return complex(r+c.r,i+c.i);complex complex:operator -(complex& c)/重載重載“-”運(yùn)算符運(yùn)算符 return complex(r-c.r,i-c.i);Complex& complex:operator +=(complex& c)/重載重載“+=”運(yùn)算符運(yùn)算符 r+=c.r; i+=c.i; return *this;9.5 運(yùn)算符重載C+語(yǔ)言程序設(shè)計(jì)11void main() complex
8、c1(1,1),c2(3,3),c3; c3=c1+c2; /復(fù)數(shù)相加復(fù)數(shù)相加 c3.print(); c3=c1-c2; /復(fù)數(shù)相減復(fù)數(shù)相減 c3.print(); c3+=c2+=c1; /復(fù)數(shù)相加后賦值復(fù)數(shù)相加后賦值 c3.print(); 例:創(chuàng)建一個(gè)復(fù)數(shù)類(lèi),將+、+=運(yùn)算符重載為友元函數(shù)9.5 運(yùn)算符重載C+語(yǔ)言程序設(shè)計(jì)12/創(chuàng)建一個(gè)復(fù)數(shù)類(lèi),將創(chuàng)建一個(gè)復(fù)數(shù)類(lèi),將+、+=運(yùn)算符重載為成員函數(shù)運(yùn)算符重載為成員函數(shù)#include #include using namespace std;class complexpublic: complex(double real=0,double i
9、mag=0): r(real),i(imag) friend complex operator +(complex&,complex&); friend complex operator -(complex&,complex&); friend complex& operator +=(complex&,complex&); void print() coutsetiosflags(ios:showpos)r iiendl;private: double r , i;9.5 運(yùn)算符重載C+語(yǔ)言程序設(shè)計(jì)13complex operator
10、+(complex& c1,complex& c2) /重載重載“+”運(yùn)算符運(yùn)算符 return complex(c1.r+c2.r,c1.i+c2.i);complex operator -(complex& c1,complex& c2) /重載重載“-”運(yùn)算符運(yùn)算符 return complex(c1.r-c2.r,c1.i-c2.i);complex& operator +=(complex& c1,complex& c2) /重載重載“+=”運(yùn)算符運(yùn)算符 c1.r+=c2.r; c1.i+=c2.i; return c1;9.5 運(yùn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- MCN解除合同范本
- 客運(yùn)線路租賃承包合同范本
- 買(mǎi)二手車(chē)付定金合同范本
- 廣告加工制作合同范本
- 公會(huì)運(yùn)營(yíng)合作合同范本
- 工地圍墻工程建設(shè)施工合同
- 出租車(chē)股權(quán)合同范本
- 2025年農(nóng)村電網(wǎng)改造升級(jí)供電合同范本
- 2024-2025年中國(guó)聚氨酯建筑用保溫材料行業(yè)市場(chǎng)行情動(dòng)態(tài)分析及發(fā)展前景趨勢(shì)預(yù)測(cè)報(bào)告
- 2025年升級(jí)版計(jì)件制勞動(dòng)合同(新能源行業(yè))
- 2024-2025學(xué)年中小學(xué)校第二學(xué)期師德師風(fēng)工作計(jì)劃:必看!新學(xué)期師德師風(fēng)建設(shè)秘籍大公開(kāi)(附2月-7月工作安排表)
- 《急性心力衰竭的急救處理》課件
- 小學(xué)六年級(jí)數(shù)學(xué)上冊(cè)《簡(jiǎn)便計(jì)算》練習(xí)題(310題-附答案)
- 青海省西寧市海湖中學(xué)2025屆中考生物仿真試卷含解析
- 2024年河南省《輔警招聘考試必刷500題》考試題庫(kù)及答案【全優(yōu)】
- -情景交際-中考英語(yǔ)復(fù)習(xí)考點(diǎn)
- 安全隱患報(bào)告和舉報(bào)獎(jiǎng)勵(lì)制度
- 地理標(biāo)志培訓(xùn)課件
- 2023行政主管年終工作報(bào)告五篇
- 2024年中國(guó)養(yǎng)老產(chǎn)業(yè)商學(xué)研究報(bào)告-銀發(fā)經(jīng)濟(jì)專(zhuān)題
- GA/T 1003-2024銀行自助服務(wù)亭技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論