http://ac.jobdu.com/problem.php?pid=1506
虽然看过书中代码,记录如何在不用题目所说的这些条件下求和,但是果断没有想起来啊!!
作者真聪明!这都能想到。
一开始隐隐约约记着好像是用类做,但是还是没有想到怎么用类就可以求和呢。。
膜拜作者。
还需要注意的是
int Temp::n=0;
int Temp::total=0;
一定要在类外初始化。
static int n;不能直接在类内赋值,只有const static int才可以直接在类内赋值。
#include <iostream> using namespace std; class Temp { public: static int n; static int total; Temp(){n++;total+=n;} static void Reset(){n=0;total=0;} }; int Temp::n=0; int Temp::total=0; int main() { int k; while(cin>>k) { Temp::Reset(); Temp *t=new Temp[k]; cout<<Temp::total<<endl; delete t; } return 0; }
int Temp::n=0; int Temp::total=0;