参考答案
非虚函数与虚函数核心在绑定时机与机制:1.非虚函数:编译期静态绑定,编译器根据调用者的静态类型直接确定函数入口地址,生成call指令跳转到固定地址;不依赖对象运行时类型,无多态。2.虚函数:运行期动态绑定,每个含虚函数的类有虚函数表(vtable)存放虚函数指针,每个对象含隐藏虚指针(vptr)指向所属类的vtable;调用时通过vptr找到vtable,按偏移取出函数指针再调用,故依据对象实际类型决定。示例:基类指针指向派生类对象,调用虚函数执行派生类版本,非虚函数执行基类版本。虚函数开销为一次指针间接寻址。