刚学习C++,入门阶段对重载  缺省  命名空间的理解

(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进C++——重载 缺省 命名空间

C几乎是C++的一个子集,所以C语言支持的语法在C++基本都支持并需要使 用。

C plus plus(C++),所以在C的基础上又有了很多新的特性

重载:

下面看两组函数,分别是用C和C++写的打印函数,分别打印 int 型、char 型、string 型

C++——重载 缺省 命名空间

C要完成不同类型的打印就要写三个不同函数名的函数才能完成

C++不会存在这方面的问题,只要函数的参数列表不同,同样函数名的函数依然能完成打印

参数列表(图中黄色框起来的地方)又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。

这就是函数重载,而借助重载,同一个函数就可以完成多种不同的作用

注意,参数列表不同包括参数的个数不同、类型不同或顺序不同,仅仅参数名称不同是不可以的。函数返回值也不能作为重载的依据。

参数列表不一定非是类型不同才可以,个数、位置不同都可以形成重载

C++——重载 缺省 命名空间

函数的重载的规则:

  • 函数名称必须相同。
  • 参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)。
  • 函数的返回类型可以相同也可以不相同。
  • 仅仅返回类型不同不足以成为函数的重载。

重载是如何形成的呢,这就取决于C++的命名规则了:

    在C语言中编译时,给每个函数都起一个名字放在一个表中,起名的规则简单,好比func()就叫_func,命名重复就会报错。

    而C++中的命名还需要考虑参数,比如func(int a, int b)就叫_funcii,而func(int a, int b, int c)就叫_funciii;这样就避免了重复可以根据用户的传参区分需要调用的函数。

相关文章:

  • 2021-08-02
  • 2022-01-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-02
  • 2021-10-03
  • 2021-10-16
  • 2021-10-01
猜你喜欢
  • 2021-10-14
  • 2021-09-04
  • 2021-12-17
  • 2021-08-20
  • 2021-09-13
  • 2021-09-04
  • 2022-12-23
相关资源
相似解决方案