题目来源“数据结构与算法面试题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;
}
该博客探讨了一种通过类的构造方法来模拟循环的方法。在C++中,每次实例化对象时会调用构造函数,因此创建多个对象可以实现累加计算。代码示例中创建了100个对象,每次构造时将一个静态变量n加一并累加到静态变量sum上,最后通过get_num()方法获取累加结果。
244

被折叠的 条评论
为什么被折叠?



