【发布时间】:2014-06-14 03:56:50
【问题描述】:
目标
如果提供了 n,square(n) 应该返回 n*n
如果没有提供参数,square() 应该增加前一次调用中的 n 值并将其平方。
我该怎么做?
如果没有参数,我应该使用默认变量还是重载函数?
我的主要问题是从上一次调用中获取 n 的增量,我所能做的就是通过添加一个静态来获取相同的输入('n'),但是如果我在 square 函数中增加 n,那么即使有参数只要它会增加。例如。 n=7, 7*7=49,所以我将返回 49,但随后我从 main 中对 square 函数的调用中删除了参数,现在是 square(); ,则 n 应为 8,并返回 8*8=64。
main.cpp:
void main()
{
int num = 5;
square(num);
cout<<"The square is: "<<square(num)<<endl;
}
square.h:
int square(static int n=1);
square.cpp
int square(static int n)
{
return n*n;
}
【问题讨论】:
-
用
num = square(num)替换square(num)...
标签: c++ function parameters overloading increment