在 C++ 的世界里,多态是面向对象编程的核心特性之一,它允许不同类型的对象对同一消息做出不同响应。而虚函数表(Virtual Table)和虚函数指针(Virtual Pointer)则是实现多态的底层基石。本文将从面试高频考点切入,结合历年真题解析,深入理解虚函数表的原理与多态的实现机制,助您在面试中脱颖而出。
一、理论基础——什么是多态?
在正式潜入“虚表”的深海之前,我们先要弄清楚它要服务的终极目标——多态。
1.1 多态的类型
C++中的多态主要分为两类:
编译时多态(静态多态):通过函数重载和模板实现。在编译阶段就能确定调用哪个函数。