一、重载
(1)相同的范围(在同一个类中);
(2)函数名字相同;
(3)参数不同;
(4)virtual关键字可有可无。
二、重写
覆盖是指派生类函数覆盖基类函数
(1)不同的范围(分别位于派生类与基类);
(2)函数名字相同;
(3)参数相同;
(4)基类函数必须有virtual关键字。
三、隐藏
“隐藏”是指派生类的函数屏蔽了与其同名的基类函数
(1)不同的范围(分别位于派生类与基类);
(2)函数名字相同;
i. 参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。
ii. 参数相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意别与重写混淆)。