freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

vc第八章多態(tài)性課件(編輯修改稿)

2025-07-03 21:58 本頁面
 

【文章內(nèi)容簡介】 B oprd 等同于 operator B(oprd ) ? 后置單目運(yùn)算符 ++和 重載后, 表達(dá)式 oprd B 等同于 operator B(oprd,0 ) 運(yùn)算符重載 28 例 83 ? 將 +、 (雙目)重載為復(fù)數(shù)類的友元函數(shù)。 ? 兩個(gè)操作數(shù)都是復(fù)數(shù)類的對象。 運(yùn)算符重載 include class plex //復(fù)數(shù)類聲明 { public: //外部接口 plex(double r=,double i=) { real=r。 imag=i。 } //構(gòu)造函數(shù) friend plex operator + (plex c1,plex c2)。 //運(yùn)算符 +重載為友元函數(shù) friend plex operator (plex c1,plex c2)。 //運(yùn)算符 重載為友元函數(shù) void display()。 //顯示復(fù)數(shù)的值 private: //私有數(shù)據(jù)成員 double real。 double imag。 }。 plex operator +(plex c1,plex c2) //運(yùn)算符重載友元函數(shù)實(shí)現(xiàn) { return plex(+, +)。 } plex operator (plex c1,plex c2) //運(yùn)算符重載友元函數(shù)實(shí)現(xiàn) { return plex(, )。 } // 思考:程序中的運(yùn)算符函數(shù)應(yīng)該采用什么形式重載? 應(yīng)該如何優(yōu)化這些函數(shù)的參數(shù)? 31 兩種重載形式的比較 ? 單目運(yùn)算符一般被重載為成員函數(shù),但雙目運(yùn)算符多數(shù)被重載為友員函數(shù) –考慮 x + 27. 5( x為 plex類的一個(gè)對象 ) ?若重載為友員函數(shù): operator + ( x , 27. 5 ) operator + ( x , plex(27. 5) ) ?若重載為成員函數(shù): x. operator + (27. 5) x. operator + (plex(27. 5)) –再考慮 27. 5 + x ?若重載為友員函數(shù): operator + ( 27. 5 , x ) operator + ( plex(27. 5) , x ) ?若重載為成員函數(shù): 27. 5. operator + (x) // error 運(yùn)算符重載 32 兩種重載形式的比較 –但有些情況下,某些雙目運(yùn)算符不能被重載為友員函數(shù),例如:各種賦值運(yùn)算符 ?將賦值運(yùn)算符‘ =’重載為 plex類的一個(gè)友員函數(shù)plex operator = (plexamp。 c1, const plex amp。 c2) { c1. real = c2. real 。 c1. image = c2. image 。 return c1。 } ? x = y。 // operator = (x,y)。 right ? 27. 5 = x 。 // operator = (plex(27. 5),x) error 運(yùn)算符重載 33 復(fù)雜運(yùn)算符的重載 ? 下標(biāo)運(yùn)算符 [ ] –只能被重載為類的成員函數(shù),且重載時(shí)只能顯式聲明一個(gè)參數(shù) –舉例: ? 函數(shù)調(diào)用運(yùn)算符() –可以將函數(shù)調(diào)用運(yùn)算符看作下標(biāo)運(yùn)算符 [ ]的擴(kuò)展,可以帶有零個(gè)或多個(gè)參數(shù) –舉例:利用重載函數(shù)調(diào)用運(yùn)算符實(shí)現(xiàn) f(x,y)=x*y+5 運(yùn)算符重載 34 靜態(tài)聯(lián)編與動(dòng)態(tài)聯(lián)編 ? 聯(lián)編: –程序自身彼此關(guān)聯(lián)的過程,確定程序中的操作調(diào)用與執(zhí)行該操作的代碼間的關(guān)系。 ? 靜態(tài)聯(lián)編(靜態(tài)束定) –聯(lián)編工作出現(xiàn)在編譯階段,用對象名或者類名來限定要調(diào)用的函數(shù)。 ? 動(dòng)態(tài)聯(lián)編 –聯(lián)編工作在程序運(yùn)行時(shí)執(zhí)行,在程序運(yùn)行時(shí)才確定將要調(diào)用的函數(shù)。 例 例 多態(tài)的實(shí)現(xiàn)——聯(lián)編 39 虛函數(shù) ? 虛函數(shù)是動(dòng)態(tài)聯(lián)編的基礎(chǔ)。 ? 是非靜態(tài)的成員函數(shù)。 ? 在類的定義中,在函數(shù)原型之前寫 virtual。 ? virtual 只用來說明類定義中的原型,不能用在函數(shù)實(shí)現(xiàn)時(shí)。 ? 具有繼承性,基類中定義了虛函數(shù),派生類中無論是否說明,同原型函數(shù)都自動(dòng)為虛函數(shù)。 ? 本質(zhì):不是重載定義而是覆蓋定義。 ? 調(diào)用方式:通過基類指針或引用,執(zhí)行時(shí)會 根據(jù) 指針指向的對象的類 ,決定調(diào)用哪個(gè)函數(shù)。 40 例 include class B0 //基類 B0聲明 { public: //外部接口 virtual void display() {coutB0::display()endl。}
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1