函数中的参数默认值
在C++中,函数的形参列表中的形参是可以有默认值的。
语法:返回值类型 函数名 (参数= 默认值){}
#include <iostream>
using namespace std;
// 函数的参数有默认值,放在右边,且那么从这个位置往后,从左向右,必须都要有默认值
// 即b有默认值,那么c也必须有默认值
void test1(int a, int b = 10,int c = 20)
{
cout << a + b + c << endl;
}
void test2(int a, int b, int c)
{
cout << a + b + c << endl;
}
int main()
{
// 输出为100+10+20=130
test1(100);
// 输出为30
test2(10, 10, 10);
}
函数重载
作用:函数名可以相同,提高复用性
函数重载与运算符重载共同组成了C++多态中的静态多态。
函数重载满足条件:
- 同一个作用域下
- 函数名称相同
- 函数参数类型不同 或者 个数不同 或者 顺序不同*
需要注意:函数返回值不同不能构成函数重载
#include <iostream>
using namespace std;
void test1(int a, int b,int c)
{
cout << a + b + c << endl;
}
// 类型不同,形成函数重载
void test1(double a, double b, double c)
{
cout << "类型不同函数重载:" << a + b + c << endl;
}
// 个数不同,形成函数重载
void test1(int a, int b)
{
cout << "个数不同函数重载:" << a + b << endl;
}
// 错误,仅是返回值不同的话,无法构成函数重载
//int test1(int a, int b, int c)
//{
// return a + b + c;
//}
int main()
{
test1(1, 2, 3);
test1(1.5, 2.5, 3.5);
test1(10, 10);
}