基类成员函数用virtual修饰
1.基类大小会多出4个字节,即指针_vfptr,它会指向一个 函数指针数组. 数组中保存所有虚函数的地址.
2.派生类继承基类,会继承基类的函数指针数组里的元素.
3.如果派生类有重写,那么重写后的函数地址会覆盖函数指针数组中函数地址
4.调用函数时,会去虚函数表中找函数,
基类成员函数用virtual修饰
1.基类大小会多出4个字节,即指针_vfptr,它会指向一个 函数指针数组. 数组中保存所有虚函数的地址.
2.派生类继承基类,会继承基类的函数指针数组里的元素.
3.如果派生类有重写,那么重写后的函数地址会覆盖函数指针数组中函数地址
4.调用函数时,会去虚函数表中找函数,
上一篇:C++如何阻止一个类被实例化
本系列深入分析编译器对于C++虚函数的底层实现,最后分析C++在多态的情况下的性能是否有受影响,多态究竟有多大的性能损失。
星标/置顶公众号????,硬核文章第一时间送达!一、概述为了实现C++的
25.6 — The virtual table – Learn C++
C++虚函数学习笔记,有兴趣的看看吧!
入对象的最前面(在 32 位的操作系统中,存储地址是用 4 个字节,因此这
一,思维模式图 二,代码验证
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M