全缺省参数,半缺省参数,函数重载

全缺省参数

  • 在C++中规定在定义函数的时候可以给定函数默认参数。举例void TestFunc (int a=10,int b=20,int c=30)。
  • 在主函数中这样(void TestFunc ( ))调用给定默认参数的函数的时候,运行也不会报错,那么在运行的时候,在Test内部就是采用默认参数。
  • 倘若在定义的函数是void TestFunc (int a=10,int b=20,int c=30),那么在进行函数调用传参的时候是这样TestFunc(1,2),那么在运行函数的时候,在函数体内部就是1,2,30,因为没有给出第三个参数,所以第三个参数采用默认值。

半缺省参数

  • 半缺省参数规则:如果提供半缺省参数值,那么只能有右向左给出。
  • 半缺省参数指的是,在定义函数的时候void TestFunc (int a,int b, int c=30),缺省参数只能由左边开始缺省,也就是说默认参数只能由右边开始给出,要是在主函数内部进行调用的时候是这样void TestFunc(10,20,50),函数内部跑的数据其实就是10,20,50.
  • 还有一点就是关于给出函数默认值的位置:在函数声明和定义的时候都可以给出函数的默认参数,但是不能重复给出,那么一般我们在声明的时候给出比较好一点。
  • 缺省参数的值必须是常量或者全局变量。
  • c语言不支持半缺省参数函数。

关于函数重载
int Add(int a,int b)
double Add(double a,double b)

  • 两个同名函数在编译期间,编译器会进行实参类型推演,拿出参数的类型,到时候需要调用的时候编译器就会分辨,此时要是想调用Add(1,1.2),编译器就会报错。也就是同名函数要想重载,参数列表必须不同(构成重载的函数参数列表必须不同)。

int Add (int a,int b)
double Add(int a,int b)
这两个函数要进行函数重载,编译的时候就会报错。

函数重载:首先必须在同一个作用域,函数名字必须相同,参数列表必须不同(个数,类型,类型次序)。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值