首页 > 知识问答 > 方法重写和重载的区别
方法重写和重载的区别
方法重写和重载都是C++中对类成员函数的修改,它们之间的主要区别在于调用方式和参数列表。
1、调用方式:重载是在同一个类中,根据不同的参数列表定义多个同名函数,编译器会根据传入的参数类型和个数自动选择合适的函数进行调用,而方法重写是子类重新定义父类中的虚函数,调用时需要通过父类指针或引用指向子类对象。
2、参数列表:重载要求函数名、参数类型和个数相同(除了const/volatile),但参数列表可以不同,而方法重写要求函数名相同,参数类型和个数可以不同,但不能有默认参数值,方法重写还需要使用virtual关键字指定为虚函数。
简而言之,重载关注的是同一个类中的多个同名函数,根据参数类型和个数选择合适的函数;而方法重写关注的是子类与父类之间的关系,通过继承和多态实现不同子类对象调用相同函数名的不同实现。
上一篇
上一篇