/*
(非继承的类)
如果一个类中有虚函数,则该类就有一个虚函数表。虚函数表是属于类的,不属于类对象。在编译的时候确定,存放在只读数据段。
每一个实例化的类对象都有一个虚函数表指针,指向类的虚函数表。虚函数表指针属于类对象。存放在堆上或者栈上。
(继承的类)
如果基类中有虚函数,派生类实现或没实现,都有虚函数表。基类的虚函数表和派生类的虚函数表不是同一个表。
如果派生类没有重写基类的虚函数,则派生类的虚函数表和基类的虚函数表的内容是一样的。
如果派生类重写了基类的虚函数,则在派生类的虚函数表中用的是派生类的函数。
*/

/*
(多继承)
含有虚函数的基类有多少个,派生类就有多少个虚函数表指针,派生类有就有多少个虚函数表。
派生类有的而基类没有的虚函数,添加在第一个虚函数表中。
虚函数表的结果是* 表示还有下一个虚函数表
虚函数表的结果是0 表示是最后一个虚函数表
*/

相关文章:

  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-08
  • 2021-10-17
  • 2022-12-23
  • 2021-10-17
猜你喜欢
  • 2021-10-14
  • 2022-12-23
  • 2021-11-05
  • 2021-05-17
  • 2022-12-23
  • 2021-10-07
  • 2021-05-23
相关资源
相似解决方案