虛表指標和虛表

2021-06-27 05:40:52 字數 462 閱讀 4465

父類中有虛函式,父類繼承子類後:

1)有各自的虛表指標和虛表;

2)對於子類中未被重寫的虛函式,在父子類各自虛表中儲存的函式位址都是父類中的虛函式位址;

3)對於子類中被重寫的虛函式,在父子類各自的虛表中儲存的函式位址是不同的;

exp1---無覆蓋時

#include using namespace std;
class base

exp2 ---覆蓋時

#include using namespace std;

class base

virtual void fun2()

public:

int b_i;

};

class devise:public base

int d_i;

};

int main()

虛指標和虛表

所以當用sizeof來獲取含有虛函式的類的大小的時候,會發現結果 比 裡面還有的資料 大4個位元組。這四個位元組就是 虛 指標。32位系統 子類裡面有父類的成員變數。當然,父類有虛函式,自然 子類 就有虛函式。虛表裡放的都是虛函式的指標,指向虛函式的位址。子類即使沒有重寫 父類的 虛函式,子類的虛表...

關於虛表和虛表指標

1 動態多型 動態繫結 在程式執行期間 非編譯期間 判斷所引用物件的實際型別,根據其實際型別呼叫相應的方法。2 動態多型具體實現 class a virtual void funtest2 int a class b1 public a virtual void funtest3 int b1 vo...

虛函式,虛表,虛表指標

分享一篇文章,詳細解釋了為什麼通過基類指標指向基類物件或派生類物件,就可以呼叫相應類的虛函式。自 一 概述 為了實現c 的多型,c 使用了一種動態繫結的技術。這個技術的核心是虛函式表 下文簡稱虛表 本文介紹虛函式表是如何實現動態繫結的。二 類的虛表 每個包含了虛函式的類都包含乙個虛表。我們知道,當乙...