[C++] 多态类中的虚函数表和虚函数表指针

C++中多态类中的虚函数表和虚函数表指针建立时间

答:1. 虚函数表在编译期建立,虚函数的地址存放于虚函数表之中
       2.虚函数表指针在运行期建立,也就是构造函数被调用时进行初始化的

C++虚函数表和虚函数表指针与类和对象的关系

如果一个类中含有虚函数,那么其虚函数表和虚函数指针的归属和存储位置如下所示

对象 存储位置 建立时间
虚函数表 含有 不含有 只读数据段 编译期间
虚函数表指针 不含有 含有 堆栈段 运行期间

C++虚函数表和虚函数表指针与继承的关系

答:1. 基类与派生类的虚函数表不是同一个表

if 派生类没有重写基类虚函数 && 派生类中没有新增的虚函数
	派生类虚函数表的内容 = 基类虚函数表的内容
else
	派生类虚函数表的内容 != 基类虚函数表的内容

       2. 对于多继承来说,派生类中虚函数表的个数等于派生类中含有虚函数的基类的个数;对于派生类中新增的虚函数来说,该虚函数位于派生类的第一个虚函数表中

发布了83 篇原创文章 · 获赞 1 · 访问量 5902

猜你喜欢

转载自blog.csdn.net/weixin_44922845/article/details/104571323