重载、重写、隐藏(重定义)
1. 重载overload
重载要求函数名相同,参数类型(或者个数)不同,返回类型随意可同可不同
2. 重写override
重写用在类中,和virtual搭配使用,重写要求函数名相同,参数类型和个数也相同,返回类型可以相同可以不同。
3. 隐藏Hide
隐藏是指子类的函数隐藏父类的同名函数,要求函数名相同,返回类型无影响,
- 如果父类和子类中的两个函数参数类型和个数相同,那么不会引起redefinition,而是子类的同名同参函数把父类的隐藏了。如果子类对象想要调用父类的版本,那么需要在调用函数时加限定父类作用域 deprive_obj.base::func()
- 如果父类和子类的函数名相同,但是参数个数或者类型不同,那么仍旧是重载。
reference
《c++primer》
C++函数重载、重写与隐藏解析
本文深入探讨C++中的函数重载、重写与隐藏的区别与联系,详细解释每种情况下的使用场景及规则,帮助读者更好地理解和运用这些特性。
1066

被折叠的 条评论
为什么被折叠?



