题解 | #求1+2+3+...+n#
求1+2+3+...+n
https://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1
class Sum
{
public:
//构造函数完成初始化
Sum()
{
_sum+=_i;
_i++;
}
//每次测试输入调用完整个代码之后,要重置一下_sum和_i
//不然下一次输入n的时候,初始时_sum和_i还是上一次的值
static void Init()
{
_sum=0;
_i=1;
}
//返回_sum的值
static int GetSum()
{
return _sum;
}
private:
//static成员可以保持是同一个_sum和_i变量
//利于累加
static int _sum;
static int _i;
};
//static成员得在类外面定义
int Sum::_sum=0;
int Sum::_i=1;
class Solution {
public:
int Sum_Solution(int n) {
//每次进来时先要完成:
//重置一下_sum和_i
Sum::Init();
//定义了一个含有n个元素的数组对象
//这n个元素都是Sum这个类所创建的对象
//所以上面的构造函数要调用n次
//就相当于完成了累加的循环
Sum a[n];
//返回的就是Sum中GetSum所返回的经历n次调用后的_sum的值
return Sum::GetSum();
}
};

