问题
思路
参考[浅谈《剑指offer》原题:求1+2+……+n].
这个题目还是很有意思的,注意的是,如果需要写静态成员,起初我一直过不去,既然编译器你改不了,那证明还是你代码的问题。倘若是编译器问题,你也应该想思路搞定他。
代码
class Foo{
public:
Foo(){ ++cur; sum += cur; }
static int cur;
static int sum;
static void reset(){ cur = 0; sum = 0; }
};
int Foo::cur = 0;
int Foo::sum = 0;
class Solution {
public:
int Sum_Solution(int n) {
Foo::reset();
Foo* arr = new Foo[n];
int ret = Foo::sum;
delete [] arr;
arr = NULL;
return ret;
}
};