关键字virtual告诉编译器不应当完成早捆绑,它应当自动安装实现晚捆绑的机制。为了完成这个机制编译器为每个虚函数类创建一个表Vtable,在Vtable中,编译器放置特定类的虚函数地址,在每个带有虚函数的类中,编译器放置一个Vpointer,用来指向这个对象的Vtable,通过基类指针做虚函数调用时,编译器静态的插入取得Vpointer,并在Vtable表中查找函数地址代码,这样就能调用正确的函数使晚邦定发生
虚函数机制
最新推荐文章于 2024-07-21 03:04:37 发布