方法重写和方法重载的区别
方法重写和方法重载的区别主要有以下几点:
1. 范围区别:重写和被重写的函数在不同的类中,重载和被重载的函数在同一类中。
2. 参数区别:重写与被重写的函数参数列表一定相同,重载和被重载的函数参数列表一定不同。
3. virtual的区别:重写的基类函数必须要有virtual修饰,重载函数和被重载函数可以被virtual修饰,也可以没有。
4. 异常区别:子类抛出的异常不能超过父类相应方法抛出的异常。
5. 访问级别区别:子类方法的访问级别不能低于父类相应方法的访问级别。
6. 返回值类型区别:子类重写父类方法的返回值类型不能大于父类方法的返回值类型。