类成员函数的重载,覆盖和隐藏的区别

如题所述

成员函数被重载的特征 (1)相同的范围(在同一个类中);

(2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 覆盖是指派生类函数覆盖

基类函数,特征是 (1)不同的范围(

分别位于派生类与基类); (2)函数名字相同; (3)...
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-01
重载:
成员函数被重载的特征:
1)相同的范围:在同一个类中
2)函数名相同,参数不同
3)virtual可有可无
覆盖:
派生函数覆盖基类函数
1)位于不同的范围内(子类和父类之间)
2)函数签名相同(函数名和参数均相同)
3)基类函数必须有virtual关键字
隐藏:
派生类的函数屏蔽了与其同名的函数:
1)派生类的函数名和基类的函数名相同,但是参数不同。不论有无virtual关键字,基类函数均被隐藏(注意与重载区别开)
2)派生类的函数名和基类的函数名相同,参数也相同,但是基类没有virtual关键字,则基类的函数将被隐藏(注意与覆盖区分开)
相似回答