函数++

本文介绍了C++中函数默认参数的使用规则,包括如何设置默认参数,以及为何在函数声明和实现中只能有一方指定默认值。此外,还探讨了函数占位参数的概念,指出调用函数时必须提供占位参数的值。接着,详细阐述了函数重载的条件,强调返回值类型不能作为重载依据,并举例说明了引用和默认参数在函数重载中的特殊性。最后,讨论了函数重载时需要注意的事项,特别是默认参数与函数重载不能同时存在于同一作用域内的问题。
摘要由CSDN通过智能技术生成

函数默认参数

C++函数的形参列表中的形参可以有默认值

int func(int a, int b =10,int c =10){}

对于默认参数,使用函数可以为func(a),也可以func(a,b,c)将使用传入的值计算而不是默认值

1.     如果某个位置有了默认参数,那么从左至右都必须有

例如

int func(int a, int b=10, int c)//非法

2.     如果函数声明有默认参数,函数实现就不能有默认参数

int func(int a=10, int b = 10);

int func(int a=10, int b = 10){}//则为非法,出现了二义性,编译器不知道该按谁的来办,声明和实现只能有一条

如后面写为int func(int a, int b){}//则正确

 

函数占位参数

形参列表中可以有占位参数,用来做占位,调用函数时必须填补该位置

void func(int a, int)

调用函数必须要传入func(a,10);

//占位参数可以有默认参数void func(int a, int=10)

 

函数重载

函数名可以相同,提高复用性

函数重载的条件:同一个作用域下,函数名称相同,函数参数类型不同,或者个数不同,或者顺序不同

注意:函数的返回值不可以作为函数重载的条件

 

函数重载的注意事项

1.引用作为重载条件

void func(int &a){}

void func(const int &a){}

这两个是不同的参数类型

2.函数重载碰到函数默认参数

void func(int a){}

void func(int a, int b=10){}

二者不能同时存在

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值