1. 一句话来说
函数重载 是在类内部,函数名一样,参数不一样。(只有返回值不同,不叫重载,因为如果不用返回值就不知道调用哪一个函数了)
函数重定义
函数重写是子类重新实现父类虚函数(函数原型必须一样)。又叫覆盖。(念咒开始: 重写虚函数 就记住了。)
下面情况会报错:cannot overload functions distinguished by return type alone
class Person{
public:
int test(int a);
void test(int a);
}