




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
6.2.6重載流插入運(yùn)算符和流提取運(yùn)算符在此輸入您的封面副標(biāo)題重載流插入運(yùn)算符和流提取運(yùn)算符在類庫提供的頭文件中已經(jīng)對(duì)“<<”和“>>”進(jìn)行了重載,使之作為流插入運(yùn)算符和流提取運(yùn)算符,能用來輸出和輸入C++標(biāo)準(zhǔn)類型的數(shù)據(jù)。用戶自定義的類型的數(shù)據(jù)是不能直接用“<<”和“>>”來輸出和輸入的。如果想用它們實(shí)現(xiàn)用戶自定義的類型的數(shù)據(jù)的輸出和輸入,就必須對(duì)它們進(jìn)行重載重載流插入運(yùn)算符和流提取運(yùn)算符需要注意的問題重載時(shí)需要注意兩點(diǎn):(1)要對(duì)“<<”和“>>”運(yùn)算符進(jìn)行重載,必須重載為類的友元函數(shù)。同學(xué)們思考一下為什么?(后期制作可以加個(gè)為什么的圖片)為什么要把流插入運(yùn)算符和流提取運(yùn)算符重載為類的友元函數(shù)比如:Complexc(2,3);cout<<c;這個(gè)語句中,流提取運(yùn)算符“<<”有兩個(gè)實(shí)參,第一個(gè)是ostream類的對(duì)象cout,第二個(gè)是Complex類的對(duì)象。因?yàn)榈谝粋€(gè)參數(shù)是ostream類的對(duì)象cout,所以不能將流提取運(yùn)算符“<<”重載為類Complex的成員函數(shù)。重載為類Complex的成員函數(shù)要求其第一個(gè)參數(shù)一定是該類的對(duì)象才可以。#include<iostream>usingnamespacestd;classComplex{private:floatReal;floatImag;public:Complex(){Real=0;Imag=0;}Complex(floatRe,floatIm){Real=Re;Imag=Im;}
friendostream&operator<<(ostream&out,Complex&c)
{ out<<c.Real<<"+"<<c.Imag<<"i"<<endl;returnout;}};重載流提取運(yùn)算符舉例intmain(){Complexc1(5.2,10.3),c2(5,6);
cout<<c1;
//實(shí)際是調(diào)用了:operator<<(cout,c1)
//cout<<c1<<c2;//編譯出錯(cuò),為什么?return0;}程序運(yùn)行結(jié)果:5.2+10.3i(2)重載的友元函數(shù)的返回值類型應(yīng)是ostream對(duì)象或istream對(duì)象的引用。為什么必須這樣呢?因?yàn)檫@樣做可以實(shí)現(xiàn)cout<<c1<<c2,為什么呢?我們這樣來分析:cout<<c1<<c2,可以分解為兩步:
step1:cout<<c1,系統(tǒng)調(diào)用了operator<<(cout,c1),返回了cout對(duì)象step2:cout<<c1的返回值是cout對(duì)象,那么cout<<c1<<c2就變成了cout<<c2,實(shí)際系統(tǒng)接著調(diào)用了operator<<(cout,c2)。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度知識(shí)產(chǎn)權(quán)國際布局與合作合同
- 2025年度航空航天設(shè)備工裝裝修施工保密合同
- 二零二五年度星級(jí)酒店餐飲部食堂承包經(jīng)營合同
- 2025年度酒水行業(yè)定制化營銷合作采購合同
- 2025年度科技園區(qū)內(nèi)企業(yè)間孵化資金借款合同
- 2025年度民間借貸合同范文:人工智能產(chǎn)業(yè)資金借貸合作協(xié)議
- 農(nóng)村水電設(shè)施維護(hù)與農(nóng)村電氣化發(fā)展合作協(xié)議(2025年度)
- 石墨烯復(fù)合材料性能與應(yīng)用的雙贏
- 磚廠安全風(fēng)險(xiǎn)評(píng)估與標(biāo)準(zhǔn)化防范措施
- 2025至2030年中國皮革機(jī)配件數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 基于項(xiàng)目化學(xué)習(xí)的小學(xué)美術(shù)跨學(xué)科主題教學(xué)實(shí)踐研究
- 牛津書蟲系列1-6級(jí) 雙語 4B-03.金銀島中英對(duì)照
- GB/T 44625-2024動(dòng)態(tài)響應(yīng)同步調(diào)相機(jī)技術(shù)要求
- 家具廠質(zhì)量管理體系手冊(cè)
- 瀝青拌合站安裝專項(xiàng)施工方案
- 《家庭教育學(xué)第2版》全套教學(xué)課件
- 2024~2025學(xué)年度八年級(jí)數(shù)學(xué)上冊(cè)第1課時(shí) 負(fù)整數(shù)指數(shù)冪教學(xué)設(shè)計(jì)
- 2024年江西省吉安市遂川縣初中教師業(yè)務(wù)素養(yǎng)檢測(cè)試卷歷史試題
- 小兒急性腸炎查房課件
- 機(jī)械基礎(chǔ)(少學(xué)時(shí))(第三版) 課件全套 第0-15章 緒論、帶傳動(dòng)-氣壓傳動(dòng)
- 07J912-1變配電所建筑構(gòu)造
評(píng)論
0/150
提交評(píng)論