#include <iostream>
using namespace std;
//比较巧的:利用类的构造函数
class A
{
public:
A()
{
number++;
sum+=number;
}
static int get_sum()
{
return sum;
}
private:
static int sum;
static int number;
};
int A::number = 0;
int A::sum = 0;
int Sum_N(int n)
{
A *pA = new A[n];
int sum = A::get_sum();
delete []pA;
return sum;
}
//还有虚函数,函数指针。 这些就点太复杂了。 就不考虑了。
//还有一个利用&&和递归
int func(int n, int &sum) //保证累加传引用。
{
n && func(n-1,sum); //递归求子问题
sum+=n;
return sum;
}
int main()
{
int sum = 0;
cout << func(100,sum) << endl;
cout << Sum_N(100) << endl;
}
思路自己是想不到,这个网上别人的