方法重载与方法重写的区别
方法重载与方法重写的区别主要有以下几点:
1. 范围区别:重写和被重写的函数在不同的类中,重载和被重载的函数在同一类中。
2. 参数区别:重写与被重写的函数参数列表一定相同,重载和被重载的函数参数列表一定不同。
3. virtual的区别:重写的基类函数必须要有virtual修饰,重载函数和被重载函数可以被virtual修饰,也可以没有。
4. 异常区别:子类抛出的异常不能超过父类相应方法抛出的异常。
5. 访问级别区别:子类方法的访问级别不能低于父类相应方法的访问级别。
6. 返回值类型区别:子类重写父类方法的返回值类型不能大于父类方法的返回值类型。
虽然C语言不支持方法重载和方法重写,但是可以通过一些技巧来实现类似的功能,例如,可以使用结构体来模拟面向对象中的类,使用函数指针来模拟方法,然后通过if语句或者switch语句来实现方法重载或者方法重写。
如有侵权请及时联系我们处理,转载请注明出处来自
推荐文章
科技快看 广州壹创集信息科技有限公司 版权所有 粤ICP备2021122624号