C++入门——缺省参数

缺省参数的由来

我们可以通过点外卖来举一个例子

就好比在点外卖的时候,经常会询问客户是否需要餐具,如果我们无视这个选项,商家会默认为“是”。而在收货地址和电话里,我们无法无视这些选项,如果无视,平台会强制无法进行订单。

而这也就是缺省参数的一个应用场景。

我们在使用C语言时,我们所有函数都需要传入参数才可以使函数正常调用,而往往很多场景下我们并不知道是否需要传入参数,此时,我们可以使用缺省参数,在需要的时候我们传入参数,在不需要的时候我们不传入参数,此时函数会将传入值赋值为一个默认值。

缺省参数的使用

缺省参数

 

在C语言中,我们函数定义的时候需要传入多少个参数,我们就必须传入多少个参数,否则函数无法正常进行调用

而在C++中,我们可以将函数中的变量默认定义,这样我们即使不传入参数,我们也可以使函数正常调用

 而如果我们传入了参数,函数则会使用我们传入的参数

 缺省参数的分类

1.全缺省参数

如果一个函数,其所有参数全部缺省,我们就称其为全缺省参数

 

 而我们传入参数时,同样也可以只传入部分参数

 编译器会调用传入的参数,而未传入的参数则会使用默认参数

注意:不能隔位传入参数!!!

例如:我们如果只想传入j和k的值,而只让i使用默认值,我们的想法便很清晰:

 但是很遗憾,这在编译器中是不允许的

 我们在传入参数时,必须按顺序依次传入参数,所以尽量把经常使用默认值的参数放在后面

 2.半缺省参数

我们使用缺省参数时,往往不需要将所有值都赋值为默认值,有时也不能赋值为默认值(例如引例中的地址电话等),此时我们便可以使用半缺省参数

i不是缺省参数,i必须要传入一个参数,否则编译器会报错 

而我们可以只传入i的参数,程序可以正常运行

 注意:必须将缺省参数放在后面

和全缺省参数一样,我们不能隔位传入参数,所以我们必须将缺省参数放在后面

 

 缺省参数的注意

缺省参数不能在函数声明和定义中同时出现

例如我们在头文件a.h中声明了一个函数

 在源文件中定义了该函数

此时编译器无法判断使用哪一个缺省值,则程序无法正常进行

而就算我们同时将a默认赋值为相同的值,同样编译无法正常进行

所以正确的做法是,我们只需要在函数声明中进行缺省即可 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值