每个类有个有自己的虚表 每个对象有个指针__vptr指向自己类的虚表
int main()
{
B bObject;
A *p = & bObject;
p->vfunc1();
}
在调用时 用父类的指针(这样当要指向子类时相当于自动转型) p指向bObject p调用vfunc1 会找bObject所在类的虚表
同理:
int main()
{
A aObject;
A *p = &aObject;
p->vfunc1();
}
p去调用 aObject所在的虚表