- 编译时会为类对象引入虚函数表。
- 类对象中会产生虚函数表指针 vptr,用于指向虚函数表。
- 在对象的构造函数中插入向 vptr 赋值虚函数表的首地址的代码。
- 若是多重继承,每个父类均有虚函数,那么子类会继承每一个父类的 vptr。子类若也有虚函数,则将该虚函数的地址添加到第一个父类的虚函数表中。
- 析构函数中也增加了虚函数表指针 vptr 赋值虚函数表首地址的代码。
(SAW:Game Over!)
本文详细解析了C++中虚函数表的工作原理,包括类对象中虚函数表指针(vptr)的作用,如何在构造和析构函数中初始化vptr指向虚函数表的首地址,以及在多重继承中子类如何继承并使用虚函数表。
(SAW:Game Over!)
1559

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