?? +?
字號:
作者:rick1126
email: rickzhang@sina.com
日期:8/23/2001 4:13:13 PM
一般多態性體現在派生類的多層次繼承上面體現的, 后綁定提供了機制.
1. 后綁定
就是編譯器對于每一個包含虛函數的類創建一個VTable, VTable里面編譯器放置特定類的虛函數地址. VPTR是編譯器提供的一個指向VTable的指針. 通過基類指針做虛函數調用的時候, 編譯器靜態插入取得這個VPTR, 在VTable中查找函數地址的代碼, 就可以正確地調用函數了.
2. 多態調用
如果一個函數繼承自多個具備虛函數的基類, 就是說該派生類對于每一個基類都具備一個VTable的VPTR, 則調用具有多個基類實現版本的虛函數的時候自然會調用相應基類的指針然后獲得對應函數實現的代碼.
3. 特點
1) 就近原則
如果派生層次為A->B->C 對于C而言, 如果A,B存在同名虛函數, 總是調用父類的虛函數版本
2) 平行繼承的二義性
如果 C 同時繼承A, B; 則如果AB存在同名虛函數, C的調用就會產生二義性, 在編譯器這關就通不過.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -