c課件運(yùn)算符重載和類重載.ppt
《c課件運(yùn)算符重載和類重載.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《c課件運(yùn)算符重載和類重載.ppt(51頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第12章運(yùn)算符重載和類型重載,主要內(nèi)容:12.1運(yùn)算符重載規(guī)則12.2類型重載,在C++中有這樣的情況,同一個(gè)類型或運(yùn)算符在不同的類中代表不同的意思或者實(shí)施不同的運(yùn)算,這就是面向?qū)ο蟮娜筇攸c(diǎn)之一的多態(tài)。函數(shù)重載是C++語(yǔ)言中多態(tài)的一種表現(xiàn)形式,運(yùn)算符重載和類型重載是多態(tài)的另外兩種表現(xiàn)形式。,運(yùn)算符重載是對(duì)已有的運(yùn)算符賦予多重含義。C++中預(yù)定義的運(yùn)算符的操作對(duì)象只能是基本數(shù)據(jù)類型,對(duì)于很多用戶自定義類型,也需要有類似的運(yùn)算操作,這就提出了對(duì)運(yùn)算符進(jìn)行重新定義,賦予已有符號(hào)以新功能的要求。同一個(gè)運(yùn)算符作用于不同類型的數(shù)據(jù)導(dǎo)致不同的行為。,12.1運(yùn)算符重載概述,運(yùn)算符重載只能對(duì)系統(tǒng)提供的已有運(yùn)算定義新的運(yùn)算含義,不能創(chuàng)造全新的運(yùn)算符,同時(shí)還不能改變運(yùn)算符原有的語(yǔ)法結(jié)構(gòu)、操作數(shù)個(gè)數(shù)、優(yōu)先級(jí)和結(jié)合性,不能有二義性。不是所有的運(yùn)算符都能重載,不能重載的運(yùn)算符有:作用域運(yùn)算符(::)、條件運(yùn)算符(?:)、直接成員訪問(wèn)運(yùn)算符(.)、sizeof運(yùn)算符、解除對(duì)指向類成員的指針的引用運(yùn)算符(.*)。運(yùn)算符重載的關(guān)鍵字是operator。針對(duì)一個(gè)具體類的已有運(yùn)算符重載有兩種途徑:1)將運(yùn)算符重新定義為類的成員函數(shù);2)將運(yùn)算符重新定義為類的友元函數(shù)。,一、運(yùn)算符重載方法,定義一個(gè)重載運(yùn)算符就像定義一個(gè)函數(shù),只是該函數(shù)的名字是operator@,這里@代表運(yùn)算符。函數(shù)參數(shù)表中參數(shù)的個(gè)數(shù)取決于兩個(gè)因素:1)運(yùn)算符是一元的(一個(gè)參數(shù))還是二元的(兩個(gè)參數(shù))。2)運(yùn)算符被定義為友元函數(shù)(對(duì)于一元是一個(gè)參數(shù),對(duì)于二元是兩個(gè)參數(shù))還是成員函數(shù)(對(duì)于一元沒(méi)有參數(shù),對(duì)于二元是一個(gè)參數(shù)—對(duì)象變?yōu)樽髠?cè)參數(shù))。,1.將運(yùn)算符重載為類的成員函數(shù),將運(yùn)算符重載為類的成員函數(shù)就是在類中用關(guān)鍵字operator定義一個(gè)成員函數(shù),函數(shù)名就是重載的運(yùn)算符。運(yùn)算符如果重載為類的成員函數(shù),它就可以自由地訪問(wèn)該類的數(shù)據(jù)成員。運(yùn)算符重載為類的成員函數(shù)的一般格式為:::operator(形參表){函數(shù)體}其中,類型為運(yùn)算符重載函數(shù)的返回類型。類名為成員函數(shù)所屬類的類名,即為重載函數(shù)名。形參為參加運(yùn)算的對(duì)象或數(shù)據(jù)。,【例題12.1】復(fù)數(shù)的加減運(yùn)算符重載,#includeusingnamespacestd;classComplex{private:floatreal,image;public:Complex(floatr=0,floati=0);ComplexAdd(constComplex,Complex::Complex(floatr,floati){real=r;image=i;}voidComplex::Show(inti){//一般情況下,這里不應(yīng)該有參數(shù)i,本例的目的是為了區(qū)分不同的復(fù)數(shù),便于觀看結(jié)果cout0)cout<<"+"<- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 課件 運(yùn)算 重載
鏈接地址:http://www.820124.com/p-11549015.html