重写与重载的区别

Posted zhang111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重写与重载的区别相关的知识,希望对你有一定的参考价值。

1、定义上不同。重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同,

调用的时候根据函数的参数来区别不同的函数。重写是指在派生类中重新对基类中的虚函数重新实现,

即函数名和参数都一样,只是函数的实现体不一样。

 

2、规则不同。重载必须具有不同的参数列表,可以有不同的访问修饰符,可以抛出不同的异常。

重写的参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载,其返回的类型也必须一直与被重写的方法的返回类型相同。

重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。

以上是关于重写与重载的区别的主要内容,如果未能解决你的问题,请参考以下文章

重载和重写有啥区别

重写与重载之间的区别

重写(覆盖,Override)和重载(Overload)的区别

重载和重写的区别与联系

c++重载(overload)和重写(override)的区别和虚函数

重载与重写的区别