重载、重写(覆盖)、重定义区别一、理论 1. 重载(Overload) 同一个作用域内,函数名相同,参数列表不同(参数个数、类型、顺序)。 返回值不能单独作为重载区分依据 属于编译期决议(静态绑定) 2. 重写 / 覆盖(Override) 发生在继承关系,基类虚函数,子类重新实现。 函数名、参数列表、返回值必须匹配(协变返回除外) 基类函数必须加 virtual 运行期决议(动态绑定,多态核心) 3. 重定义(隐藏,Redefine / Hide) 继承关系中,子类写了和基类同名函数,不是虚函数,直接把基类同名函数隐藏。 参数列表可