C++覆盖与重载

C++中覆盖和重载经常是初学者感到很困惑的地方。
重载是一个编译时的概念。它是用来区别带不同参数(参数的类型,数量,顺序)的同名函数的工具。如果声明了同名函数,编译器会在执行时根据参数来确定调用哪一个。重载不会涉及任何成员的改变。它是一个强大的工具,它允许程序员在输入不同数据的情况下,使用同名的函数来完成类似的任务。而且重载只用于函数,不用于类,大部分使用的重载函数都是成员函数。
覆盖是运行时的概念,它在运行时从一组被覆盖的函数中选择一个函数。覆盖允许派生类的实现者所使用的接口与基类的接口一致,但是各自的实现方法不同。通过覆盖,使用的是对象所实现的正确方法,而不是调用接口所使用的实现方法。覆盖基于单个函数。覆盖意味着继承,没有继承,就不存在覆盖,

总体来说,重载是在编译过程中在各个同名函数中选择使用哪个函数来执行,而覆盖是在运行时从一组被覆盖的函数中选择一个函数。即选择和判断的关系。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值