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