函数的覆盖

     在基类 animal 的 breathe 函数前添加了 virtual 关键字, 声明该函数为虚函数。 

我们注意到, 类的 breathe 函数和 animal fish 在派生类 fish 中重写了 breathe 函

数, 的 breathe 函数完全一样,无论函数名,还是参数列表都是一样的,这称为

函 数的覆盖(override) 。


 构成函数覆盖的条件为:

  1.  基类函数必须是虚函数(使用 virtual 关键字进行声明) 。
  2.  发生覆盖的两个函数要分别位于派生类和基类中。
  3. 函数名称与参数列表必须完全相同。 

由于 C++的多态性是通过虚函数来实现的, 所以函数的覆盖总是和多态关联 在一起。在函数覆盖的情况下,编译器会在运行时根据对象的实际类型来确定要 调用的函数。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值