1. 重写 override
定义:子类重写基类的虚函数
特点:(1) 函数名相同 (2) 作用域不同 (3) 参数列表相同 (4) 基类函数必须有virtual关键字且不能有static (5) 返回值相同 (6) 重写函数的访问修饰符可以不同
例子:基类:virtual void restrictionChanged(); 子类:void restrictionChanged()
2. 重载 overload
定义:函数名相同,但是参数列表不同,注意main函数不能重载,每个程序的main函数只有一个
特点:(1) 函数名相同 (2) 作用域相同 (3) 参数列表不同 (4) virtual关键字可有可无 (5) 返回值可以不同 (6) 访问修饰符可以不同
例子:某类:void restrictionChanged(int); void restrictionChanged(double);
3. 重定义 overwrite
定义:子类重定义基类的函数
特点:(1) 函数名相同 (2) 作用域不同 (3) 参数列表可以不同 (4) virtual关键字可有可无 (5) 返回值可以不同 (6) 访问修饰符可以不同
例子:基类:void restrictionChanged(int); 子类:void restrictionChanged(double);
参数列表不同:指的是个数或类型,但是不能靠返回类型来判断