C++的虚函数表

C++的虚函数表,第1张

虚函数表

每个类有一张虚函数表,每个类对象有一个虚表指针。


因为基类和子类都有虚表指针,所以当基类指针指向子类对象的时候,可以调用子类的虚函数,体现了多态性。


动态绑定:虚函数
静态绑定:非虚函数

析构函数一般写成虚函数的原因,这样当基类指针指向子类对象的时候,可以正确的调用子类的析构函数,正确的释放子类对象的资源。


构造函数一般不写成虚函数的原因,因为调用构造函数时对象还未被创建,也就没有虚表指针,更别提找到虚函数地址了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/568630.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存