隐藏、重写、重载的区别

隐藏:
当派生类中的函数与基类中的函数同名(参数列表可以不一致),则基类中的函数会出现隐藏,只显示派生类中的函数。
在发生隐藏的时候,基类中的函数依然存在,只是不显示

重写:
派生类中有一个与基类完全相同(返回值、函数名、参数列表)的虚函数(virtual),则基类中的函数会出现重写,与派生类中的函数内容一致。
在发生重写的时候,基类中的函数已经发生改变,原有的函数已经不存在。

特例:
协变:基类与派生类的函数返回值类型不同
析构函数的重写:基类与派生类的析构函数名不同(只要在基类的析构函数名前加上virtual,派生类中无论是否有virtual都会构成重写)
重载:
在同一作用域内被声明的几个具有不同参数列表的同名函数(参数列表不同,返回值类型无所谓),根据传入参数与参数列表的匹配,确定调用哪个函数。

图片来源于Tianzez的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值