编译器在你用bp调用虚函数的那段代码处进行了转变为bp->vptr[i](bp),其中vptr为虚函数指针,加了i索引到具体调用的虚函数,在执行时动态识别bp的所指类型(为派生类类型),从而根据派生类的vptr调用相应的虚函数