重载与重写的区别

重载是同一类中函数名相同,参数的类型、个数等不同的多个函数执行不同的功能的一种方法;
重写是一种存在于子类和父类之间的一种方法,子类通过重写父类的某一函数,来达到覆盖父类功能的目的,子类重写时函数方法的名称、参数列表都与父类一致,创建子类时优先使用子类方法。
总结:范围区别-----参数区别----virtual区别

参考释义:
重载(overload):同一个可访问区域内被声明的几个具有不同参数列(参数的类型、个数、顺序不同)的同名函数。
重写(覆盖override):指的是派生类中存在重新定义的函数。派生类中重新定义的函数,其函数名、参数列表、返回值类型都必须与基类中被重写的函数完全一样!只有函数体不同,派生类调用时会调用派生类的重写函数,不会调用被重写的基类中的函数。基类中被重写的函数必须有virtual来修饰!
隐藏(hide): 指的是派生类中的函数屏蔽了与其同名的基类中的函数。注意:只要同名函数就行,不管参数列表是否相同,基类中的函数都会被屏蔽。
参考博客:https://blog.nowcoder.net/n/eebc0dfc2676477182737913581a920f

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务