默认参数什么意思 求详解

void Display(string s1,string s2,string s3)
{
if(s2==""&&s3=="") cout<<s1<<endl;
else if (s3==""&&s2!="") cout<<s1<<"、"<<s2<<endl;
else cout<<s1<<"、"<<s2<<"、"<<"s3"<<endl;
}
最新回答
独恋猫的鱼

2026-10-31 17:13:13

C++函数的默认参数指的是在函数声明或者定义时给形式参数指定默认值,从而在调用参数时可以少写参数,少掉的参数用默认值代替。LZ的Display()函数的代码看起来似乎是可以有s2和s3两个默认参数,那么此函数的声明写法就是

void Display(string s1, string s2 = "", string s3 = "");

那么s2和s3都是带有默认值的默认参数,以下的函数调用都是正确的写法

Display("abc", "123");
Display("abc");
Display("abc","123","xxx");

具体调用时缺少的参数将取它们的默认值。

注意:

1、函数的默认参数只能指定一次,所以一般是在声明中;

2、声明中的任何一个默认参数右边的参数都必须全部是默认参数,也就是默认参数必须从最右边开始连续指定;

3、调用时任何一个给出值的参数左边的参数都必须全部给出具体值,也就是从左边开始连续给出参数值,不能隔空跳过。