1

我需要你的帮助来开始一个好的实施思维。

我需要创建一个简单的程序,内容如下: 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 次,但这是不可能的,因为我必须填写第一个参数。

我是否别无选择,只能使用保存我名字的全局参数?

4

2 回答 2

4

重载:

void printTextToScreenNTimes(int x)
{
    printTextToScreeNTimes("guy", x);
}
于 2012-10-27T09:46:01.813 回答
0

我认为你对你的要求读得太多了。我认为关于不提供名称的第二部分仅适用于第一部分(不提供计数)也适用的情况。

但无论如何,您都可以使用 Luchian 刚刚解释的重载来解决它。

于 2012-10-27T09:46:55.717 回答