c++函数重载、函数重写、函数重定义

1.函数重载
一个函数名字重新赋予它新的含义,是一个函数名字可以多用。是指同一作用域的不同函数使用相同的函数名,但是参数个数或类型不同(参数个数、参数类型或参数顺序)
成员函数被重载的特征
(1)相同的作用域(同一个类中);
(2)函数名字相同;
(3)参数不同;
(4)virtual关键字可有可无。
2.函数重写
函数重写:也称作覆盖,是用于类的继承中,函数名、参数个数、类型都相同,仅函数体不同。
2、重写/覆盖
(1)重写是指派生类函数覆盖基类函数。
(2)重写的特征:
①不同的作用域(分别位于派生类与基类);
②函数名字相同;
③参数相同;
④基类函数必须是虚函数;
⑤重写函数必须和原函数具有相同的返回类型;
⑥const可能会使虚成员函数的重写失效。
体现了多态。
3.函数重定义(隐藏)
函数隐藏:既不是重载也不是重写,例如:函数名及参数完全相同却又不是虚函数,却在子类中重新实现该函数,也就是所谓的隐藏。
(1)隐藏,是指派生类的函数屏蔽屏蔽了与其同名的基类函数。
(2)特征:
①如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数都将被隐藏。(注意与重载区分)
②如果派生类的函数与基类的函数同名,且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏。(注意与覆盖区分)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值