赞
踩
一个函数参数 可以指定一个默认的值 调用函数时 如果不对这个参数传入值则使用默认值,如果对这个参数传入值 则使用传入的值。
#include <iostream>
using namespace std;
int getmax(int x=0,int y=1);//函数声明与实现分离,在函数声明中指定默认值,不要在实现中指定
int main()
{
cout << getmax() << endl;
cout << getmax(99) << endl;
cout << getmax(123,100) << endl;
}
int getmax(int x,int y)
{
return x>y?x:y;
}
c++中函数参数默认值 必须遵循靠右原则
int getmax(int x,int y=100)
{
}
如果一个参数有默认值 则右侧所有的参数必须都有默认值。
默认值 不要和重载形成冲突
当函数的声明 和 实现分离时 需要在声明 中指定默认值 不要在实现中指定。
综合举例遍历数组内容,默认以逗号隔开
#include <iostream>
using namespace std;
void printarr(int *data,int len=1,char sep=',')
{
cout << '[';
for(int i=0;i<len-1;i++)
{
cout << data[i] << sep;
}
cout << data[len-1] << ']' << endl;
}
int main()
{
int data[5]={9,5,2,7,8};
printarr(data);
printarr(data,3);
printarr(data,sizeof(data)/sizeof(data[0]));
printarr(data,sizeof data /sizeof(data[0]),'$');
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。