基类指针/虚函数/多态
加上override重写
虚函数要结合指针使用,不要用对象来使用
多态性
关于虚函数表指针和虚函数表的实现机制
凡是声明有虚函数的类,其对象都含有一个隐藏的data member,用来指向该class 的vtbl。这个隐藏的data member就是vptr(virtual table Pointer)。
1.根据对象的vptr找到vtbl。
2.找到被调用的函数(f1)在vtbl内对应的指针。
3.执行所指向的函数。
,在类对象的头部存放着一个虚指针,该虚指针指向了各自类所维护的虚函数表,再通过查找虚函数表中的地址来找到对应的虚函数。