/***********************************************************************/
/* 题目:求1+2+…+n,
要求不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
(A?B:C)。
|
做法:利用静态变量
/************************************************************************/
#include <iostream>
using namespace std;
class SumN
{
public:
SumN()
{
n++;
sum += n;
}
void sumResult();
private:
static int sum;
static int n;
};
/*
*先要明白的一点是:静态成员的值对所有的对象是一样的。静态成员可以被初始化,但只能在类体外进行初始化
*一般形式:
*数据类型 类名::静态数据成员名=初值
*注意:不能用参数初始化表对静态成员初始化。一般系统缺省初始为0.
*/
int SumN::sum = 0;
int SumN::n = 0;
void SumN::sumResult()
{
cout<<sum<<endl;
}
int main()
{
SumN *pSum = new SumN[100];
pSum->sumResult();
delete pSum;
return 0;
}