overload和override是用来实现C++多态的,C++多态主要是通过静态多态(overload、编译时确定)和动态多态(override、运行时确定,动态绑定)来实现的。
overload 重载,即函数重载
1、在同一个类中;
2、函数名字相同;
3、函数参数不同(类型不同、数量不同,两者满足其一即可,还有的说参数顺序不同,也是其一);
4、不以返回值类型不同作为函数重载的条件
override 覆盖
1、分别位于父类和子类中;
2、子类改写父类的virtual方法;
3、与父类的函数原型相同。
overwrite 覆写
1、与overload类似,但是范围不同,是子类改写父类;
2、与override类似,但是父类中的方法不是虚函数。