虚函数表和Vptr指针

当父类指针指向父类的对象时,没有疑问,编译器对func函数的判断过程就是
1、func是不是虚函数不是就调用成员函数
2、func是虚函数则根据父类的虚函数Vptr指针,查找到func再使用
当父类指针指向子类的对象时,func的判断过程
1、func是不是父类继承过来的成员变量(未虚化)
2、不是的话、func是不是子类的虚函数;
(1)不是,是不是父类的虚函数func;是调用父类Vptr指针查找虚函数func;不是程序报错没有func函数
(2)是,则根据子类的虚函数Vptr指针,查找func再使用

posted @ 2020-09-20 15:28  北极星!  阅读(159)  评论(0)    收藏  举报