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

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

(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进奋斗

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

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

重载:

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


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

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

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

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

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

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


函数的重载的规则:

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值