面试真题

C++ · 简单 · 大疆

请简述多态实现的原理

简单 C++ 🎤 大疆
参考答案
结论:C++多态通过虚函数表(vtable)和虚指针(vptr)实现运行时动态绑定。原理:1.类含虚函数时编译器为其生成虚表,存放虚函数地址;2.对象实例内含vptr指向所属类虚表;3.派生类重写虚函数,其虚表对应项替换为派生类函数地址;4.基类指针指向派生类对象时,调用虚函数经vptr找到派生类虚表项,执行派生类版本。示例:Base* p=new Derived(); p->show(); 若show为虚,则调用Derived::show。多态前提是继承且虚函数重写,实现接口复用。
题目整理自公开面经,答案由校招宝自研生成,仅供参考