1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
同名异式

挑戰C++程式語言 ─第15章 虛擬函式與同名異式 本章主題 同名異式 同名異式範例 虛擬函式的宣告 虛擬函式的宣告 虛擬函式的宣告 抽象類別 抽象類別(Abstract class)指的是該類別並不允許產生案例(Instance) 將某一類別定義成抽象類別,只須在其中的某一虛擬函式的定義之後加上 = 0 即可。該函式又稱之為純虛擬函式(Pure virtual functions) 某一衍生類別繼承自一個抽象類別,而在該衍生類別中又未針對純虛擬函式重新定義屬於自己的虛擬函式,則該衍生類別將會繼承該純虛擬函式 抽象類別範例 虛擬解構元 由於一般的解構元並非虛擬函式,因此無論該指標是指向那一個衍生類別,當透過該指標來叫用解構元時,一定只會參用到基本類別的解構元,如此一來將會使得衍生類別所佔用的記憶體空間沒有機會被釋放 解決上述問題的方法,就是必須將解構元也定義成虛擬函式 建構元絕對不可以被定義成虛擬函式。為什麼呢? 解構元 – 範例 * * 虛擬函式的宣告 抽象類別 虛擬解構元 同名異式(Polymorphism):在觀念上非常類似所謂動態繫結(Dynamic binding)的觀念,動態繫結指的是程式在執行時期,會依當時的資料狀態而當下決定要連結到下一段正確的程式碼 C++物件導向語言利用所謂的虛擬函式(Virtual functions)來達到同名異式的功能 其中三角形、四邊形與圓形都繼承自物體這個類別,而三角形、四邊形與圓形又同時有一操作成員Area() 用來取得該物件的面積 虛擬函式的定義需要在函式定義的最前面加上virtual這個保留字 若基本類別中的某一操作成員被定義成虛擬函式,則其所有的衍生類別也都自動地會是虛擬函式 衍生類別應該需要定義屬於自己的虛擬函式 在衍生類別中重新定義過的虛擬函式必須與基本類別中的虛擬函式具有相同的傳回資料型態和相同的引數 *

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档