代码1:
class Solution {
public:
Solution(){N++; Sum+=N;}
static void reset(){N = 0; Sum = 0;}
static int getSum(){return Sum;}
private:
static int N;
static int Sum;
public:
int sumNums(int n) {
reset();
Solution *a = new Solution[n];
delete[] a;
a = nullptr; // 防止野指针
return getSum();
}
};
int Solution::N = 0;
int Solution::Sum = 0;
代码2:
class Temp {
public:
Temp() { ++N; Sum += N; }
static void Reset() { N = 0; Sum = 0; }
static unsigned int GetSum() { return Sum; }
private:
static unsigned int N;
static unsigned int Sum;
};
unsigned int Temp::N = 0;
unsigned int Temp::Sum = 0;
unsigned int Sum_Solution(unsigned int n) {
Temp::Reset();
Temp* a = new Temp[n]; // call constructer n times
delete[] a;
a = nullptr;
return Temp::GetSum();
}