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

四、c++定义和声明设置默认参数

2017-11-20 10:09 239 查看
#include<iostream>
using namespace std;
int f(int a=4,int b=4);
int main()
{
cout<<f(3,3)<<endl;
return 0;
}
int f(int a=4,int b=4)
{

return a+b;
}


重载的时候,一个函数带有参数说明的时候,只能再定义时候或者声明的时候设置默认参数,不能在这两个地方同时设置;所以上面程序的代码是无法编译通过的;(有情况除外)

#include<iostream>
using namespace std;
int f(int a,int b);
int main()
{
cout<<f(3,3)<<endl;
return 0;
}
int f(int a=4,int b=4)
{

return a+b;
}


正确—-输出结果为6

#include<iostream>
using namespace std;
int f(int a=4,int b=4);
int main()
{
cout<<f(3,3)<<endl;
return 0;
}
int f(int a,int b)
{

return a+b;
}


正确—–输出结果为6

#include<iostream>
using namespace std;
int f(int ,int);
;
int main()
{
cout<<f(3,3)<<endl;
return 0;
}
int f(int a=4,int b=4)
{

return a+b;
}


此处可以在定义函数的时候省去函数声明的参数,在函数定义的时候设置参数的默认值;

#include<iostream>
using namespace std;
int f(int a=4,int b);
int main()
{
cout<
4000
/span><<f(3,3)<<endl;
return 0;
}
int f(int a,int b)
{

return a+b;
}


除此之外,参数的默认定义要从右往左定义,不能右面的参数没有定义,而左面的参数定义了;上面代码是错误的;

#include<iostream>
using namespace std;
int f(int a,int b=4);
int main()
{
cout<<f(3,3)<<endl;
return 0;
}
int f(int a,int b)
{

return a+b;
}


正确—-输出结果为6
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: