7个回答
展开全部
参数的缺省值就是在调用函数时当不给函数传入实参时,函数调用会使用缺省的参数代替实参。
例如:int
Add(int
i=0,
int
j=5);
{
return
i+j;
}
void
main()
{
cout<<Add();//输出0+5=5;
cout<<Add(2);//输出2+5=7
cout<<Add(1,2)//输出1+2=3
}
例如:int
Add(int
i=0,
int
j=5);
{
return
i+j;
}
void
main()
{
cout<<Add();//输出0+5=5;
cout<<Add(2);//输出2+5=7
cout<<Add(1,2)//输出1+2=3
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//函数f用于输出字符串str。
//若参数tag为true,则从左向右输出
//否则,从右向左输出
void f(char *str,bool tag=true)
{
if(tag) cout<<str;
else
{
int len=strlen(str);
for(int i=len-1;i>=0;i--) cout<<str[i];
}
因为一般我们输出字符串都是从左向右输出的,所以tag一般情况下都为true,因此我们可以将tag的缺省值设为true,在调用时,如果想从左向右输出的话,就可以不用写2个参数了,比如
f("abc");
f("efg",false);
}
//若参数tag为true,则从左向右输出
//否则,从右向左输出
void f(char *str,bool tag=true)
{
if(tag) cout<<str;
else
{
int len=strlen(str);
for(int i=len-1;i>=0;i--) cout<<str[i];
}
因为一般我们输出字符串都是从左向右输出的,所以tag一般情况下都为true,因此我们可以将tag的缺省值设为true,在调用时,如果想从左向右输出的话,就可以不用写2个参数了,比如
f("abc");
f("efg",false);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
void fun1(int x=4)//一个默认参数
{
cout << "fun1x=" << x << endl;
}
void fun2(int y,int x=4)//2个参数一个默认参数,必须最右边的是默认参数
//void fun2(int y=4,int x)这种是错误的
{
cout << "fun2x=" << x << endl;
cout << "fun2y=" << y << endl;
}
void fun3(char* z,int y=5,int x=4)//多个参数多个默认参数,必须从最右边开始,都是默认参数
//void fun3(char* z="haha",int y,int x=4)这种是错误的
{
cout << "fun3x=" << x << endl;
cout << "fun3y=" << y << endl;
cout << "fun3z=" << z << endl;
}
int main(void)
{
fun1();
fun2(5);
fun3("haha");
return 0;
}
using namespace std;
void fun1(int x=4)//一个默认参数
{
cout << "fun1x=" << x << endl;
}
void fun2(int y,int x=4)//2个参数一个默认参数,必须最右边的是默认参数
//void fun2(int y=4,int x)这种是错误的
{
cout << "fun2x=" << x << endl;
cout << "fun2y=" << y << endl;
}
void fun3(char* z,int y=5,int x=4)//多个参数多个默认参数,必须从最右边开始,都是默认参数
//void fun3(char* z="haha",int y,int x=4)这种是错误的
{
cout << "fun3x=" << x << endl;
cout << "fun3y=" << y << endl;
cout << "fun3z=" << z << endl;
}
int main(void)
{
fun1();
fun2(5);
fun3("haha");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如函数
int
max(int
a=6,int
b=8)
{
int
z;
if(a>b)
z=a;
else
z=b;
return
z;
}
调用函数时
max(3)
//就相当于max(3,8)
这就是缺省值
int
max(int
a=6,int
b=8)
{
int
z;
if(a>b)
z=a;
else
z=b;
return
z;
}
调用函数时
max(3)
//就相当于max(3,8)
这就是缺省值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询