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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計(jì)語言c第07章-虛函數(shù)和多態(tài)性(編輯修改稿)

2025-09-01 17:31 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 R指向這個(gè)對(duì)象的 VTABLE。 通過基類指針做虛函數(shù)調(diào)用時(shí) , 編譯器取得這個(gè)VPTR, 找到該類的 VTABLE, 并在其中查找相應(yīng)虛函數(shù)地址 , 完成動(dòng)態(tài)匹配 。 17 第七章 虛函數(shù)和多態(tài)性 ? 虛函數(shù) 18 類對(duì)象和它們的虛表 base_obj Base的 VTABLE VPTR amp。Who() first_obj First_d的 VTABLE VPTR amp。Who() 單界面、多實(shí)現(xiàn) class figure { protected: float x,y; public: void set_dim(float i, float j=0) { x=i; y=j; } virtual void show_area() { cout “No area \n”; } }; class triangle : public figure { public: void show_area() { cout x* * y “\n”。 } }; class square : public figure{ public: void show_area() {cout x * y “\n”; } }; class circle : public figure { public: void show_area() { cout * x * x; } }; void main() { figure * p。 triangle t。square s。circle c; p=amp。t; p- set_dim(, ); p- show_area(); p=amp。s; p- set_dim(, ); p- show_area(); p=amp。c; p- set_dim(); p- show_area(); } ?各個(gè)派生類共享基類函數(shù) set_dim(float i, float j=0); ?而對(duì)于計(jì)算面積 , 各個(gè)實(shí)際圖形有不同的算法 square、 triangle和 circle具有相同的界面 show_area() 但它們對(duì)應(yīng)不同的實(shí)現(xiàn)方法 所以 , 函數(shù) show_area( )定義為虛函數(shù) 。 第七章 虛函數(shù)和多態(tài)性 ? 虛函數(shù) 一個(gè)成員函數(shù)什么時(shí)候需要聲明為虛函數(shù)呢 ? 首先考慮成員函數(shù)所在的類是否會(huì)做為 基類 。 然后看成員函數(shù)在類的繼承后有無功能被 修改 ? 如果希望修改其功能 , 一般將它聲明為虛函數(shù) 。 還應(yīng)當(dāng)考慮對(duì)成員函數(shù)的調(diào)用是通過對(duì)象名還是基類指針或引用去訪問 。 如果通過基類 指針或引用去訪問 , 則聲明為虛函數(shù) 。 25 第七章 虛函數(shù)和多態(tài)性 ? 虛函數(shù) ( 2) 虛特性 用虛函數(shù)實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的關(guān)鍵之處是 , 必須用指向基類的 指針 (或者引用 )訪問虛函數(shù) 。 盡管可以像調(diào)用其他成員函數(shù)那樣顯式地用對(duì)象名來調(diào)用一個(gè)虛函數(shù) , 但只有在一個(gè)指向基類的指針 (或者引用 )訪問虛函數(shù)時(shí) , 運(yùn)行時(shí)多態(tài)性才能實(shí)現(xiàn) 。這時(shí) , 稱為函數(shù)具有虛特性 。 27 第七章 虛函數(shù)和多態(tài)性 ? 虛函數(shù) 基類函數(shù)具有虛特性的條件是: ? 在基類中 , 將該函數(shù)說明為 虛 (virtual)函數(shù) 。 這樣可以在派生類中重新定義此函數(shù) , 為它賦予新的功能 , 并能夠方便調(diào)用 。 在類外定義虛函數(shù)時(shí) , 不必再加 virtual關(guān)鍵字 。 ? 定義基類的 公有派生 類; ? 在基類的公有派生類中 原型一致 地 重載 該
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1