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

正文內(nèi)容

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

2025-06-28 21:58 上一頁面

下一頁面
  

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