c++重载和重写有什么区别

avatar
作者
猴君
阅读量:1

C++中的重载(Overloading)和重写(Overriding)是两种不同的概念。

重载是指在同一个作用域内,对同一个函数名进行多次定义,但每次定义的参数类型、个数或顺序不同。重载函数根据参数的不同来区分调用哪一个函数。重载可以发生在同一个类中的成员函数之间,也可以发生在不同的类之间的成员函数之间。重载函数的返回类型可以相同也可以不同。

重写是指在派生类中对基类的虚函数进行重新定义。当派生类中的函数与基类的虚函数具有相同的名称、参数列表和返回类型时,派生类的函数会覆盖基类的虚函数,这称为函数的重写。重写可以实现多态性,即通过基类的指针或引用调用派生类的虚函数。

总结来说,重载是在同一作用域内对同一个函数名进行多次定义,根据参数的不同来区分调用;而重写是在派生类中对基类的虚函数进行重新定义,实现多态性。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!