问题描述:ios
求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。数组
分析:函数
利用类的静态变量实现:spa
new一含有n个这种类的数组,那么该类的构造函数将会被调用n次。code
代码实现:orm
// 12.cc #include <iostream> using namespace std; class Object { public: Object() { ++N; Sum += N; } static void reset() { N = 0; Sum = 0; } static int get_sum() { return Sum; } private: static int N; static int Sum; }; int Object::N = 0; int Object::Sum = 0; int sum(int n) { Object::reset(); Object* a = new Object[n]; delete []a; a = 0; return Object::get_sum(); } int main() { int n = 10; cout << "The sum is: " << sum(n) << endl; return 0; }