题目来源“数据结构与算法面试题80道”。

【数据结构与算法面试题】求和_构造方法

问题分析:可以使用类的构造方法,在类的每次实例化对象时都会调用构造方法,那么只需要实例化n个对象,就会调用n次构造方法,这就模拟了循环的过程,此时,只需要有一个全局变量记录累加的值即可。

方法:

#include <stdio.h>

class calnum{
	public:
		calnum(){
			n ++;
			sum += n;
		}
		~calnum(){}
		
		int get_num(){
			return sum;
		}
	private:
		static int sum;
		static int n;
};

int calnum::sum = 0;
int calnum::n = 0;

int main(){
	// 声明n个对象
	calnum *sum = new calnum[100];

	printf("%d\n", sum->get_num());
	
	delete[] sum;
	return 1;
}