函数重载与C ++中的重载

作者: Laura McKinney
创建日期: 4 四月 2021
更新日期: 5 可能 2024
Anonim
JAVA112.06  构造方法 / new / 构造方法重载 / this()
视频: JAVA112.06 构造方法 / new / 构造方法重载 / this()

内容

C ++中的函数重载与重写之间的主要区别在于,C ++中的函数重载是编译时多态,而C ++中的重载是运行时多态。


将一个名称用于多种形式和类型称为多态性。多态是面向对象编程中最重要的概念之一。实现重载,重载和虚函数的方法有很多种。 C ++中的函数重载是编译时多态,而C ++中的重载是运行时多态。

重载是编译时间多态性。重载为多种方法提供了一个通用接口。重载平均代码在重新定义时包含相同的函数名称。重载使一个重载功能不同于其他功能。过载功能有不同的参数。

运行时多态被称为覆盖。通过使用虚函数关键字可以实现覆盖。此关键字在基类中使用。当派生类重新定义函数时,无法更改覆盖的函数。在C ++中进行重写可以确定调用哪个版本的函数。

内容:C ++中的函数重载和覆盖之间的区别

  • 比较表
  • 超载
  • 覆写
  • 关键差异
  • 结论
  • 解释性视频

比较表

基础超载覆写
含义C ++中的函数重载是编译时多态

C ++中的函数重写是运行时多态。

 

关键词 重载中有一个特定的关键字“虚拟”是功能覆盖中的特定关键字。
成就 在重载函数中,有编译时间。在函数覆盖中,有一个运行时完成。
捆绑 在函数重载中,存在早期绑定在函数覆盖中,存在后期绑定

超载

重载是编译时间多态性。重载为多种方法提供了一个通用接口。重载平均代码在重新定义时包含相同的函数名称。重载使一个重载功能不同于其他功能。过载功能有不同的参数。


覆写

运行时多态被称为覆盖。通过使用虚函数关键字可以实现覆盖。此关键字在基类中使用。当派生类重新定义函数时,无法更改被覆盖的函数。在C ++中进行重写可以确定调用哪个版本的函数。

关键差异

  1. C ++中的函数重载是编译时多态性,而C ++中的函数重载是运行时
  2. 重载中有一个特定的关键字,而“虚拟”是函数覆盖中的特定关键字。
  3. 在重载函数中,需要完成编译时,而在函数重载中则需要运行时
  4. 在函数重载中有早期绑定,而在函数重载中有后期绑定

结论

在上面的本文中,我们通过示例看到了函数重载和函数重载之间的明显区别。

解释性视频