既然不能循环, 那么就让编译器自动触发(调用)某函数吧, 在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;
}
     巧妙!



本文转载:CSDN博客