c++ 基类和派生类的虚函数表是否为同一个
生活随笔
收集整理的這篇文章主要介紹了
c++ 基类和派生类的虚函数表是否为同一个
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
總結(jié)
- 派生類(lèi)實(shí)現(xiàn)基類(lèi)的虛函數(shù)時(shí),基類(lèi)中虛函數(shù)表和派生類(lèi)的虛函數(shù)表地址不同,基類(lèi)虛函數(shù)表中的虛函數(shù)地址和派生類(lèi)虛函數(shù)表中的虛函數(shù)地址不同;
- 派生類(lèi)不實(shí)現(xiàn)基類(lèi)的虛函數(shù)時(shí),基類(lèi)中虛函數(shù)表和派生類(lèi)中虛函數(shù)表地址不同,基類(lèi)虛函數(shù)表中的虛函數(shù)地址和派生類(lèi)虛函數(shù)表中的虛函數(shù)地址相同。
嘗試
運(yùn)行結(jié)果:
father virtual table address: 0x5577d3b7fd40 father virtual func address: 0xd3b7d532 son virtual table address: 0x5577d3b7fd28 son virtual func address: 0xd3b7d56e從運(yùn)行結(jié)果可以看到:派生類(lèi)實(shí)現(xiàn)基類(lèi)的虛函數(shù),基類(lèi)中虛函數(shù)表和派生類(lèi)的虛函數(shù)表地址不同,基類(lèi)虛函數(shù)表中的虛函數(shù)地址和派生類(lèi)虛函數(shù)表中的虛函數(shù)地址也不同。
運(yùn)行結(jié)果:
father virtual table address: 0x5582e3f9ad40 father virtual func address: 0xe3f98532 son virtual table address: 0x5582e3f9ad28 son virtual func address: 0xe3f98532從運(yùn)行結(jié)果可以看到:派生類(lèi)不實(shí)現(xiàn)基類(lèi)的虛函數(shù),基類(lèi)中虛函數(shù)表和派生類(lèi)中虛函數(shù)表地址不同,基類(lèi)虛函數(shù)表中的虛函數(shù)地址和派生類(lèi)虛函數(shù)表中的虛函數(shù)地址相同。
總結(jié)
以上是生活随笔為你收集整理的c++ 基类和派生类的虚函数表是否为同一个的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Unity图集打包
- 下一篇: 第一个C++的程序你好世界