1. 函数重载
条件:
(1)同一个作用域下,函数名相同;
(2)函数的参数列表不同,包括参数列表的个数、或者类型、或顺序不同。
使用场景:同一个类中,有多个重载方法,根据传入参数列表的不同,调用不同的方法。比如add(int a, int b), add(double a, double b)
2. 函数重写(覆盖)
条件:
(1)在不同作用域下,基类和子类,函数名相同;
(2)函数的参数列表相同,即子类和基类函数完全相同。
使用场景:多个不同的子类,重写了父类的虚函数,这样可以根据生成的具体对象不同,调用不同的方法。
3. 函数重定义(隐藏)
条件:
(1) 子类和父类中,只要函数名相同,就可构成函数重定义;
使用场景:多个不同的子类,重写了父类的方法,这样可以根据生成的具体对象不同,调用不同的方法。
待更新。