c++核心编程—函数提高

本文介绍了C++中的函数参数特性,包括如何设置默认参数,如何使用占位参数以及函数重载的概念和规则。函数默认参数允许在未提供实参时使用预设值,而占位参数则要求调用时必须提供完整参数。函数重载则在同一作用域内允许函数名相同但参数列表不同的多个函数存在。需要注意的是,函数返回类型不参与重载判断,且默认参数可能导致二义性问题。
摘要由CSDN通过智能技术生成

目录

一、函数默认参数

二、函数占位参数

三、函数重载

1、重载概述

2、重载注意事项


一、函数默认参数

在c++中,函数的形参列表的形参可以是有默认值

语法:返回值类型 函数名(参数 = 默认值...) { };

示例:

//无默认参数
int  func1(int a,int b) {
	return a + b;
}

//有默认参数
int  func2(int a, int b = 10) {
	return a + b;
}


int main() {
	
	int a = 20;
	int b = 30;
	//调用无默认
	cout << func1(a,b) << endl;

	//调用有默认
	cout << func2(a) << endl;
	cout << func2(a,b) << endl;



	system("pause");
	return 0;
}

注意事项:

1、如果某个位置有了默认参数,那么这个位置之后的形参都需要有默认值

2、函数的声明和实现,只能有一个有默认参数

二、函数占位参数

C++中函数的形参列表可以有占位参数,用于占位,调用函数时,必须补全

语法:返回值类型 函数名(数据类型) { }

示例:

注意事项:

1、占位参数,可以有默认参数

2、可以看见占位参数可以传递,但是无法使用,现阶段意义不大,后续深入学习会用到。

三、函数重载

1、重载概述

作用:使函数名可以相同

满足条件:

1、同一个作用域

2、函数名称相同

3、函数的参数列表需要不相同,可以是类型不同,或者个数不同,或者顺序不同

示例:

void func() {
	cout << "func()调用" << endl;
}
//重载1
void func(int a,int b) {
	cout << "func(int a,int b)调用" << endl;
}
//重载2
void func(double a, int b) {
	cout << "func(double a, int b)调用" << endl;
}
//重载3
void func(int a,double b) {
	cout << "func(int a,double b)调用" << endl;
}



int main() {
	 
	int a = 10;
	int b = 20;
	double c = 3.14;
	//调用原函数
	func();
	//个数不同
	func(a,b);
	//顺序不同
	func(a,b);
	//类型不同
	func(a,c);

	system("pause");
	return 0;
}

注意事项:

1、函数的返回值不可作为函数重载的条件

2、重载注意事项

1、引用作为重载对象

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

当函数重载碰到默认参数,出现二义性,报错,尽量避免这种情况

喜欢就点赞收藏吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值