什麼函式能寫成虛函式

2021-09-08 14:08:52 字數 331 閱讀 3836

1、析構函式在什麼時候必須寫成虛函式

存在基類指標指向堆上的子類物件上

2、建構函式能否寫成虛函式

不能,虛函式指標是存在在物件的前四個位元組上的,那麼虛函式的前提就是必須有了物件才能看其它的,而建構函式就是用來產生物件的,所以沒有物件是無法呼叫的。

3、內聯函式能否寫成虛函式

不能,內聯函式編譯時期在呼叫點展開,release版本下沒有位址,而虛函式表中存的是函式的位址,所以不行

4、static函式能否寫成虛函式

不行,因為它沒有this指標,找不到物件的位址,static可以不依賴物件呼叫,連物件都沒有怎麼找到物件的前四個位元組呢,所以不可以

為什麼C 基類析構函式寫成虛函式

下面的 舉例 virtual.cpp 定義控制台應用程式的入口點。include stdafx.h include define maxlen 128 class cemployee cemployee protected private class coperator public cemploy...

為什麼基類的析構函式要寫成虛函式?

答 在實現多型時,當用基類操作派生類,在析構時防止只析構基類而不析構派生類的狀況發生。說明如下 第一段 includeusing namespace std class clxbase clxbase void dosomething class clxderived public clxbase ...

什麼是虛函式

虛函式聯絡到多型,多型聯絡到繼承。所以本文中都是在繼承層次上做文章。沒了繼承,什麼都沒得談。下面是對c 的虛函式這玩意兒的理解。一,什麼是虛函式 如果不知道虛函式為何物,但有急切的想知道,那你就應該從這裡開始 簡單地說,那些被virtual關鍵字修飾的成員函式,就是虛函式。虛函式的作用,用專業術語來...