【C/C++】重载(overload),重写(override,或覆盖),隐藏

转自:C++中的重载、重写(覆盖)、隐藏(Karen_Lh)函数


1、重载 spa

(1)相同的范围(在同一个类中);


(2)函数名字相同;


(3)参数不一样;


(4)virtual关键字无关紧要。


2、重写 
覆盖是指派生类函数覆盖基类函数


(1)不一样的范围(分别位于派生类与基类);


(2)函数名字相同;


(3)参数相同;


(4)基类函数必须有virtual关键字。


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