問題描述: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; }