您的位置:首页 > 编程语言 > C语言/C++

c++-带默认形参值的函数

2014-04-13 10:35 477 查看
注意三点:

(1)如果函数的定义在函数调用之前, 则在函数定义时给出默认值,如果函数的定义在函数调用之后则应该在声明中给出默认值

(2)一个函数不能即作为重载函数,又作为有默认参数的函数,以为容易出现二义性(说法不严格,其实只要不产生二义性即可)

(3)带默认值的参数都位于参数列表的最右端

#include <iostream>

using namespace std;

int fun(int a, int b=5)
{
return a+b;
}

int fun1(int a, int b, int c=5);
int fun2(int a, int b, int c, int d);
//int fun3(int a=1, int b, int c=2);   //error 有默认值的右方不能有非默认值的变量存在

int main()
{
cout<<fun(3)<<endl;
cout<<fun1(1,2)<<endl;
//cout<<fun2(1,2,3)<<endl;   //error,如果有默认值一定要在声明中指出,否则,即使在定义指出也不生效
return 0;
}

//int fun1(int a, int b, int c=6)  //error, 编译错误,声明中给出,定义时不能再重新赋默认值//有的编译器可以通过
//{
//	return a+b+c;
//}

int fun1(int a, int b, int c)
{
return a+b+c;
}

int fun2(int a, int b, int c, int d=8)
{
return a+b+c+d;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 默认参数