函数默认参数、函数的占位参数
程序员文章站
2024-03-17 16:00:22
...
一、函数的默认参数
1.在C++中函数的形参是可以有默认值的
首先在我们正常使用C++的时候如下面代码:都是世代传承是
#include<iostream>
using namespace std;
//函数的默认参数
int func(int a, int b, int c)
{
return a + b + c;
}
int main()
{
cout << func(10,20, 30) << endl;
system("pause");
return 0;
}
其输出结果为:60.
2.我们对参数设定默认值后
#include<iostream>
using namespace std;
//函数的默认参数
int func(int a=10, int b =20, int c=30)
{
return a + b + c;
}
int main()
{
cout << func(10,30,30) << endl;
system("pause");
return 0;
}
其输出结果变为70了。
如果我们自己传入了数据就用传入的数据,没有传入的话就用默认值。
注意事项:
1.如果某个位置已经有了默认值,那么这个位置从左往右都必须要有默认值
这样会提示错误。
c添加了默认参数后错误消失。
2.如果函数的声明有了默认参数,函数的实现就不能有默认参数。声明和实现只能有一个有用。
比如这样:
int func3(int a=10, int b=10);
int func3(int a=10, int b=10)
{
return a + b;
}
int main()
{
cout << func3(10,30) << endl;
system("pause");
return 0;
}
在代码里面没有提示任何的错误,但在运行之后
参数1和参数2都被重定义了,出现错误。
int func3(int a=10, int b=10);
int func3(int a, int b)
{
return a + b;
}
int main()
{
cout << func3(10,30) << endl;
system("pause");
return 0;
}
这样子就没有错误了。
二、函数的占位参数
1.C++中函数的形参列表里可以有占位参数,用来占位,调用的时候必须填补该位置。占位参数也可以有默认参数。
#include<iostream>
using namespace std;
void func3(int a, int)
{
cout << "hello world!" << endl;
}
int main()
{
func3(10, 3);
system("pause");
return 0;
}
在这个里面函数里面fun里边第二个参数就为占位符,在调用函数的时候必须补位置。而且是相同类型的。
上一篇: C 语言 方法外部的数组与普通变量传入方法内部时的区别
下一篇: 函数的返回值