C++中函数重载和覆盖的区别

在这篇文章中,我们将了解 C++ 中函数重载和函数覆盖之间的区别。

超载

  • 重载期间不使用关键字。

  • 原型仅基于参数的数量或类型而有所不同。

  • 它发生在编译期间。

  • 构造函数可以重载。

  • 析构函数不能重载。

  • 可用于实现早期绑定。

  • 被调用函数的版本由所使用的参数的数量或类型决定。

  • 这些函数将使用相同的名称、不同数量或类型的参数重新定义。

覆盖

  • 原型始终保持不变。

  • 它发生在运行时。

  • 虚拟函数不能被覆盖。

  • 析构函数可以被覆盖。

  • 覆盖也称为后期绑定。

  • 将被覆盖的函数前面是基类中的 'virtual' 关键字。

  • 类对象的地址分配给指针调用其函数的指针。

  • 定义函数时,它在主类中以 'virtual' 关键字开头。

  • 在派生类中使用 'out' 关键字重新定义了相同的函数。

以上是 C++中函数重载和覆盖的区别 的全部内容, 来源链接: utcz.com/z/311395.html

回到顶部