既然不能循环, 那么就让编译器自动触发(调用)某函数吧, 在C++中, 什么函数能被自动默认调用呢? 对, 我们考虑用构造函数来巧妙实现:
#include <iostream>
using namespace std;
class A
{
static int n;
static int sum;
public:
A()
{
n++;
sum += n;
}
static getResult()
{
return sum;
}
};
int A::n = 0;
int A::sum = 0;
int main()
{
int N = 100;
A *p = new A[N]; // 会自动n次调用构造函数
delete [] p;
cout << A::getResult() << endl;
return 0;
}
巧妙!