-
虛函數表
鎖定
- 中文名
- 虛函數表
- 外文名
- Virtual Function Table
- 用 途
- 實現虛函數
虛函數
C++中的虛函數的實現一般是通過虛函數表(C++規範並沒有規定具體用哪種方法,但大部分的編譯器廠商都選擇此方法)。
類的虛函數表是一塊連續的內存,每個內存單元中記錄一個JMP指令的地址。
注意的是,編譯器會為每個有虛函數的類創建一個虛函數表,該虛函數表將被該類的所有對象共享。類的每個虛成員佔據虛函數表中的一行。如果類中有N個虛函數,那麼其虛函數表將有N*4字節的大小。
虛函數(Virtual Function)是通過一張虛函數表來實現的。簡稱為V-Table。在這個表中,主要是一個類的虛函數的地址表,這張表解決了繼承、覆蓋的問題,保證其真實反應實際的函數。這樣,在有虛函數的類的實例中分配了指向這個表的指針的內存,所以,當用父類的指針來操作一個子類的時候,這張虛函數表就顯得尤為重要了,它就像一個地圖一樣,指明瞭實際所應該調用的函數。
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:19次歷史版本
- 最近更新: ARanner5P77pV