虛函數指的是被virtual關鍵字修飾的成員函數,定義虛函數的目的是為了實現一個接口,起到一個規范的作用,規范繼承這個類的程序員必須要實現這個函數。
簡單地說,那些被virtual關鍵字修飾的成員函數,就是虛函數。
首先:強調一個概念定義一個函數為虛函數,不代表函數為不被實現的函數。定義它為虛函數是為了允許用基類的指針來調用子類的這個函數。定義一個函數為純虛函數,才代表函數沒有被實現。定義純虛函數是為了實現一個接口,起到一個規范的作用,規范繼承這個類的程序員必須實現這個函數。
例:
class A{public:virtual void foo(){cout<<"A::foo() is called"<<endl;}};class B:public A{public:void foo(){cout<<"B::foo() is called"<<endl;}};int main(void){A *a = new B();a->foo(); // 在這里,a雖然是指向A的指針,但是被調用的函數(foo)卻是B的!return 0;}
這個例子是虛函數的一個典型應用,通過這個例子,也許你就對虛函數有了一些概念。它虛就虛在所謂“推遲聯編”或者“動態聯編”上,一個類函數的調用并不是在編譯時刻被確定的,而是在運行時刻被確定的。由于編寫代碼的時候并不能確定被調用的是基類的函數還是哪個派生類的函數,所以被成為“虛”函數。 虛函數只能借助于指針或者引用來達到多態的效果。
關于虛函數是什么意思就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
【資料圖】哈嘍小伙伴們 ,今天給大家科普一個小知識。在日常生活中我們或多或少的都會接觸到明朝有朱歷這個皇帝嗎方面的一些說法,有的小伙伴還不是很了解,今天就給大家詳細的介紹一下關于明朝有朱歷這個皇帝嗎的相關內容。明朝皇帝:明太祖朱元璋、明惠帝朱允炆、明成祖朱棣、明仁宗朱高熾、明宣宗朱瞻基、明英宗朱祁鎮、明代宗朱祁鈺、明憲宗朱見深 、明孝宗朱佑樘、明武宗朱厚照、明世宗朱厚熜、明穆宗朱載垕、明神宗朱翊鈞...
最近小編看到大家都在討論表達愛情的歌詞相關的事情,對此呢小編也是非常的感應興趣,那么這件事究竟是怎么發生的呢?具體又是怎么回事呢?下面就是小編搜索到的關于表達愛情的歌詞事件的相關信息,我們一起來看一下吧!1、轉身離開,分手說不出來,你有話說不出來,海鳥跟魚相愛,只是一場意外?!渡汉骱!?、最美的不是下雨天,是與你曾躲過雨的屋檐?!恫荒苷f的秘密》【資料圖】3、在我轉身之前你看不到我流淚的樣子...
科興控股是國企嗎?科興控股并不是國企??婆d控股全稱為北京科興生物制品有限公司,它是由科新控股有限公司和北京北大未名生物工程集團有限責任公司共同出資建立的一家企業,屬于生物高科技技術行業。2001年,北京科興生物制品有限公司正式在北京中關村高科技園區注冊成立??婆d控股簡介北京科興控股公司是中國境內第一家在美國證券交易所上市的疫苗企業。除此以外,北京科興生物制品有限公司還擁有一個子公司,其名字為唐山銀...