C++的类成员如果有Virtual修饰符,则在实例化后的对象中会形成一个叫做VTBL(虚拟表)的东西,另外借助C++内在的滞后绑定功能实现所谓的多态性。下面,我借助C代码来大概演示下VTBL的实现原理,仅供参考。
本文通过模拟C++中的VTBL(虚拟表)机制,详细解释了如何利用虚拟表实现多态性。通过C代码展示了如何为带有virtual成员的类分配内存,并初始化VTBL,最后调用虚拟函数。
C++的类成员如果有Virtual修饰符,则在实例化后的对象中会形成一个叫做VTBL(虚拟表)的东西,另外借助C++内在的滞后绑定功能实现所谓的多态性。下面,我借助C代码来大概演示下VTBL的实现原理,仅供参考。
1827

被折叠的 条评论
为什么被折叠?