函数的重载,覆盖,隐藏区别

本文详细解释了在编程中重载(overloading)与覆盖(overriding)的概念及其区别。重载关注的是在同一作用域内多个同名但参数不同的函数;而覆盖则是指在派生类中重新定义基类中的函数,且两者函数名、参数列表及返回值类型需完全一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重载

指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。注意是相同的范围(同一个类),函数名相同,参数不同,跟virtual 没有关系。


覆盖

也翻译成重写,指派生类中存在重新定义的函数。其函数名,参数列表,返回值类型,所有都必须同基类中被重写的函数一致。重写的基类中被重写的函数必须有virtual修饰。注意是父类子类范围。


隐藏

指子类屏蔽了与其同名的父类函数,只要同名就可以,不管参数是否相同,是否有virtual。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值