基类指针/虚函数/多态

加上override重写

虚函数要结合指针使用,不要用对象来使用

多态性

关于虚函数表指针和虚函数表的实现机制

凡是声明有虚函数的类,其对象都含有一个隐藏的data member,用来指向该class 的vtbl。这个隐藏的data member就是vptr(virtual table Pointer)。

1.根据对象的vptr找到vtbl。

2.找到被调用的函数(f1)在vtbl内对应的指针。

3.执行所指向的函数。

,在类对象的头部存放着一个虚指针,该虚指针指向了各自类所维护的虚函数表,再通过查找虚函数表中的地址来找到对应的虚函数。

 

posted @ 2021-10-16 21:33  wsq1219  阅读(42)  评论(0编辑  收藏  举报