c++入门之缺省参数(基础版)


一、缺省参数概念

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。

如下

#include <iostream>
using namespace std;

void Func(int a = 0)
{
	cout << a << endl;
}

int main()
{
	Func();   // 没有传参时,使用参数的默认值
	Func(10); // 传参时,使用指定的实参
	return 0;
}

在这里插入图片描述

二、缺省参数分类

1.全缺省参数

#include <iostream>
using namespace std;

void Func(int a = 10, int b = 20, int c = 30)
{
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl;
}

int main()
{
	Func();   
	Func(1, 2, 3);
	return 0;
}

在这里插入图片描述

2.半缺省参数

这里注意4点

  1. 半缺省参数必须从右往左依次来给出,不能间隔着给,且必须要传参数,正确如下
#include <iostream>
using namespace std;

// Func(int a = 10, int b = 10, int c)   //错误形式
void Func(int a, int b = 10, int c = 20)
{
	cout << "a = " << a << ",";
	cout << "b = " << b << ",";
	cout << "c = " << c << endl;
}

int main()
{  
	//Func();   //错误形式
	Func(1);
	Func(1, 2);
	Func(1, 2, 3);
	return 0;
}

在这里插入图片描述

  1. 缺省参数不能在函数声明和定义中同时出现
    如果声明与定义位置同时出现,恰巧两个位置提供的值不同,那编译器就无法确定到底该用那个缺省值

情况如下

#include <iostream>
using namespace std;

void Func(int a = 10); //声明

void Func(int a = 20)  //定义
{}

int main()
{
	Func();
	return 0;
}

在这里插入图片描述
3. 缺省值必须是常量或者全局变量
4. C语言不支持(编译器不支持)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值