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

正文內(nèi)容

vc第八章多態(tài)性課件-免費(fèi)閱讀

  

【正文】 67 本章小結(jié) ? 純虛函數(shù) –在基類中說(shuō)明的虛函數(shù),它在該基類中沒(méi)有定義函數(shù)體,要求各派生類根據(jù)實(shí)際需要定義自己的函數(shù)體。 //調(diào)用派生類 D1函數(shù)成員 } 程序的運(yùn)行結(jié)果為: B1::display() D1::display() 63 人員信息管理系統(tǒng)的改進(jìn) ? 程序有兩點(diǎn)不足: ①基類的成員函數(shù) pay()和 displayStatus()的函數(shù)體均為空,在實(shí)現(xiàn)部分仍要寫出函數(shù)體,顯得冗余。 //聲明抽象基類指針 B1 b1。雖然程序中不能定義該類的對(duì)象,但如果派生類中 直接繼承 這些一般虛函數(shù),則還可以通過(guò)派生類的對(duì)象來(lái)調(diào)用這些一般的虛函數(shù) 純虛函數(shù)與抽象類 59 例 include class B0 //抽象基類 B0聲明 { public: //外部接口 virtual void display( )=0。 //調(diào)用派生類 D1函數(shù)成員 } 程序的運(yùn)行結(jié)果為: B0::display() B1::display() D1::display() 44 虛函數(shù)與繼承 ? 任何一個(gè) 派生類 都可以定義 自己 的虛函數(shù),任何繼承這些類的派生類也都可以 直接繼承或重新定義 這些虛函數(shù),但是 不可以 通過(guò)第一次定義這些虛函數(shù)的派生類的 基類 來(lái)調(diào)用這些虛函數(shù),因?yàn)榛悺翱床坏健边@些虛函數(shù) 虛函數(shù) 45 虛函數(shù)與繼承 ? 若基類中定義了虛函數(shù),而派生類中沒(méi)有重新定義該函數(shù),則派生類可以直接繼承基類的虛函數(shù),但這種繼承使用有時(shí)會(huì)出現(xiàn)問(wèn)題 –當(dāng)基類中的虛函數(shù)引用了該類中的數(shù)據(jù)成員,而該數(shù)據(jù)成員又無(wú)法為派生類直接使用(派生類中定義了同名的數(shù)據(jù)成員,隱藏了基類中的成員),會(huì)出現(xiàn)問(wèn)題 虛函數(shù) 46 虛函數(shù)的數(shù)據(jù)封裝 ? 若基類的虛函數(shù)在 public區(qū),而將派生類重新定義的同名虛函數(shù)放在protected區(qū),則外界應(yīng)無(wú)法使用派生類的虛函數(shù),但實(shí)際上是可以使用的 –舉例: –結(jié)論:派生類虛函數(shù)屬于 protected區(qū),但是仍能被外部訪問(wèn) 虛函數(shù) 47 虛函數(shù)的數(shù)據(jù)封裝 ? 為什么虛函數(shù)看起來(lái)不受數(shù)據(jù)封裝的限制? –虛函數(shù) 也受數(shù)據(jù)封裝的限制 ,但是虛函數(shù)使用的權(quán)限決定于當(dāng)初調(diào)用虛函數(shù)的對(duì)象指針變量或引用體對(duì)應(yīng)的類中如何定義虛函數(shù)的數(shù)據(jù)封裝,而并非決定于該對(duì)象指針變量或引用體所真正引用的類 虛函數(shù) 48 ? 使用基類對(duì)象做實(shí)參進(jìn)行調(diào)用,則虛函數(shù)的封裝性按照基類中權(quán)限定義 ? 思考 :如果將基類中的虛函數(shù)定義于protected區(qū),而派生類中的虛函數(shù)定義于 public區(qū),結(jié)果如何? –外部不能使用派生類的虛函數(shù) 虛函數(shù) 虛函數(shù)的數(shù)據(jù)封裝 49 動(dòng)態(tài)聯(lián)編時(shí)的析構(gòu)函數(shù) ? 首先了解在動(dòng)態(tài)聯(lián)編方式下利用析構(gòu)函數(shù)釋放對(duì)象占用的存儲(chǔ)空間會(huì)造成什么問(wèn)題? ? 舉例: 虛函數(shù) 50 虛析構(gòu)函數(shù) ? 用 delete語(yǔ)句調(diào)用析構(gòu)函數(shù)釋放對(duì)象,希望自動(dòng)根據(jù)對(duì)象指針的類型調(diào)用相對(duì)應(yīng)的析構(gòu)函數(shù),但是析構(gòu)函數(shù)本身不具有虛函數(shù)的性質(zhì),所以destroyobj函數(shù)沒(méi)有達(dá)到動(dòng)態(tài)聯(lián)編的效果 ? 解決方案:將析構(gòu)函數(shù)定義為虛函數(shù) ? 不能聲明虛構(gòu)造函數(shù),可以聲明虛析構(gòu)函數(shù) 虛函數(shù) 51 虛析構(gòu)函數(shù) ? 虛析構(gòu)函數(shù)的聲明語(yǔ)法是: – virtual ~類名 ( )。b0。 } }。 ? 在類的定義中,在函數(shù)原型之前寫 virtual。 } ? x = y。 }。 ? 兩個(gè)操作數(shù)都是復(fù)數(shù)類的對(duì)象。 myClock++。 if(Minute=60) { Minute=Minute60。 Minute++。 0=NewSamp。 Clock::Clock(int NewH, int NewM, int NewS) //構(gòu)造函數(shù) { if(0=NewHamp。 ? 操作數(shù)是時(shí)鐘類的對(duì)象。 ()。 } void plex::display() { cout(real,imag)endl。 plex plex:: operator +(plex c2) //重載函數(shù)實(shí)現(xiàn) { plex c。 include class plex //復(fù)數(shù)類聲明 { public: //外部接口 plex(double r=,double i=){real=r。 ? 經(jīng)重載的運(yùn)算符,其操作數(shù)中至少應(yīng)該有一個(gè)是自定義類型。 //顯示復(fù)數(shù)的值 private: double real。 ? 多態(tài)的實(shí)現(xiàn): –函數(shù)重載 –運(yùn)算符重載 –虛函數(shù) –類模板 4 問(wèn)題舉例 ——復(fù)數(shù)的運(yùn)算 cl
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1