我需要你的帮助才能开始实施良好的实施思路。
我需要使用以下内容创建一个简单的程序: 1.具有两个参数的函数,第一个参数是名称(char *),第二个参数是您要将此名称打印到屏幕(int)的次数。 如果函数调用中未提供第二个参数,则应将名称打印10次。 如果函数调用中没有提供第一个参数,它应该打印作者姓名/程序的作者(即我的名字)。
我正在考虑使用默认参数创建以下函数:
void printTextToScreenNTimes(char * text = "guy", int n = 10);
此功能实现如下:
void printTextToScreenNTimes(char * text, int n) {
int i;
for (i = 0; i < n; i++)
cout << text << " ";
}
当我尝试打印默认名称2次时出现问题。例如,如果我只想使用以下函数调用:
void printTextToScreenNTimes(3);
我希望函数能够打印默认名称(在本例中为“guy”)3次,但这是不可能的,因为我必须填写第一个参数。
除了使用保存我姓名的全局参数外,我别无选择吗?
答案 0 :(得分:4)
重载:
void printTextToScreenNTimes(int x)
{
printTextToScreeNTimes("guy", x);
}
答案 1 :(得分:0)
我认为你正在阅读过多的要求。我认为关于不提供名称的第二部分仅适用于第一部分(不提供计数)也适用。
但无论如何,你可以使用重载来解决它,就像Luchian刚才解释的那样。