01-3.9带有缺省参数值的函数

在C++中,函数的参数可以有缺省值
当调用有缺省参数的函数时,如果相应的参数没有给出实参,则自动用相应的缺省参数值作为其实参。

函数的缺省参数,是在函数原型中给定的。

如,

int init(int x=5, int y=10);

则如下调用是允许的:

init(100,80);
init(25);
init(); 

要求:
(0)在函数原型中给定函数的缺省参数。

void Fun(int x=0, int y=0);  // 正确

void Fun(int x=0, int y=0)   // 错误
{
	//函数体
}

(1)在函数原型中,所有取缺省值的参数必须出现在不取缺省值的参数的右边。

int fun(int I,int j=5,int k);   //错误
int fun(int I,int k,int j=5);   //正确

(2)在函数调用时,若某个参数省略,则其后的参数皆应省略而采用缺省值。

init (,20)   //错误

也就是说

  • 函数参数若有缺省值,则从某个参数开始,后面都有缺省值
  • 调用时,前面都是有值(输入的实参)的,后面都是用了缺省值
#include <iostream>
using namespace std;
int main()
{
    void showValue(int x, int y, bool Max = true);  // 声明函数

    int a = 5, b = 10;

    showValue(a, b);
    showValue(a, b, false);

    return 0;
}

void showValue(int x, int y, bool Max = true)  // 定义函数
{
    if (Max)
        cout << "the bigger value is : " << ((x > y) ? x : y) << endl;
    else
        cout << "the smaller value is: " << ((x < y) ? x : y) << endl;
}
/*
void showValue(int x, int y, bool Max = true)  // 定义函数
{
    int result;
    if (Max) {
        result = (x > y) ? x : y;
        cout << "the bigger value is: " << result << endl;
    }
    else {
        result = (x < y) ? x : y;
        cout << "the smaller value is: " << result << endl;
    }
}
*/
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值