重载
- 相同的范围(在同一个类中)
- 相同的函数名字,不同的参数列表,与返回值类型没有关系
- virutal关键字可有可无
重写
- 不同的范围(分别位于派生类与基类)
- 相同的函数名字,相同的参数
- 基类函数必须要有virtual关键字
隐藏
隐藏指在某些情况下,派生类中的函数屏蔽了基类中的同名函数,包括以下几种情况
- 两个函数参数相同,但是基类不是虚函数。和覆盖的区别在于基类函数是否是虚函数
- 两个函数参数列表不同,无论基类函数是否虚函数,基类函数都将被覆盖。和重载的区别在于两个函数不在同一个类中
隐藏指在某些情况下,派生类中的函数屏蔽了基类中的同名函数,包括以下几种情况