关于引用与指针实现多态的一些记录
生活随笔
收集整理的這篇文章主要介紹了
关于引用与指针实现多态的一些记录
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
??? 首先明白指針的組成,指針是由一個其指向的地址值和對該地址值得解釋方式兩部分組成。
??? p1:指向基類的指針, p2:指向派生類的指針
??? p1 = p2;
??? 當將一個派生類的指針賦給一個基類指針時,p2的地址被完全復制給p1,兩者擁有相同的地址,但是對于這個地址的解釋方式對于p1來說還是p1原有的解釋,那在通過p1調(diào)用一個虛函數(shù)時,通過p1對地址的解釋找到對應(yīng)的虛表指針(此時這個虛表指針指向的是派生類的虛函數(shù)表),再通過虛表調(diào)用派生類的虛函數(shù)來實現(xiàn)多態(tài)。這個應(yīng)該和虛表指針在基類及派生類中的位置有關(guān)系,有可能是放在了內(nèi)存結(jié)構(gòu)的頂部,這樣不會因為子類比父類占用內(nèi)存大而訪問不到虛表指針,可能不是這樣,還不懂
轉(zhuǎn)載于:https://www.cnblogs.com/AKUN-FYK/p/11141893.html
總結(jié)
以上是生活随笔為你收集整理的关于引用与指针实现多态的一些记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奇怪的bug
- 下一篇: javascript中变量