默认实参需要注意的几点:
1)某个形参被赋予默认值后,它后面的所有形参都必须要赋默认值
2)对带有默认实参的函数声明之后,在定义的时候默认形参就不要写了,要不然编译或会报错:重定义默认参数(我因为是复制过去的,就忽略了这个问题)
慢慢来,会好的
#include<iostream>
#include<string>
using namespace std;
string make_plural(size_t ctr, const string &word, const string &ending = "s");
int main()
{
//我发现题目是不是想说第三个参数,少写了一个横
//这个我没写第三个参数,就是为了看看写两个参数是不是真的好使
cout <<"单词单数形式:"<< make_plural(1, "success") << make_plural(1, "failure") << endl;
cout << "单词复数形式:" << make_plural(2, "success") << make_plural(2, "failure") << endl;
//这个把第三个参数改成了es,看看好不好使
cout << "单词复数形式:" << make_plural(2, "success","es") << make_plural(2, "failure") << endl;
system("pause");
return 0;
}
string make_plural(size_t ctr, const string &word, const string &ending)
{
return (ctr > 1) ? word + ending : word;
}
结果如下: