题解 | #求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(); } };