在 C++ 的面向对象世界里,多态被誉为 "代码复用的魔法"。当我们看到基类指针优雅地调用子类方法,或是同名函数根据参数变化展现不同行为时,背后正是 函数重载(Overload)与函数重写(Override)在施展魔力。这对 "孪生兄弟" 分别承载着静态多态与动态多态的核心机制,是面试中高频出现的 "必考题"。
一、概念本质:静态多态 vs 动态多态
1.1 基础定义对比
真题(字节2023):以下哪些是重载?哪些是重写?
class Base { public: void func(int); // #1 virtual void vfunc(); // #2 }; class Derived : public Base { public: void func(double);