下面的问题是我项目的一小部分。我把问题简化了很多。
我已经全局声明了数组大小和数组。
int N;
double array[N];
现在使用函数填充数组。
void arrayfill()
{
for(int i=0;i<N;i++)
{
array[i] = i;
}
}
接下来,我有一个函数,它根据变量 var 对所有数组的元素求和。
double sum(int var)
{
double s;
for(int i=0;i<var;i++)
{
s+=array[i];
}
return s;
}
现在,我想要的是创建一个包含填充函数的头文件,另一个包含求和函数的头文件,最后我想从主函数调用 sum()。我这样做的原因是因为我想填充数组一次并在许多不同的地方使用不同的 var 值继续使用 sum()。
有人可以帮忙吗?
最佳答案
这是一种方法。
数组.h:
extern const int N;
extern double array[];
数组填充.h:
void arrayfill();
数组总和.h:
double sum(int var);
主要.cpp:
#include "arrayfill.h"
#include "arraysum.h"
int main()
{
arrayfill();
double s = sum(10);
return 0;
}
数组.cpp:
#include "array.h"
const int N = 200;
double array[N];
数组填充.cpp:
#include "array.h"
#include "arrayfill.h"
void arrayfill()
{
for(int i=0;i<N;i++)
{
array[i] = i;
}
}
数组总和.cpp:
#include "array.h"
#include "arraysum.h"
double sum(int var)
{
double s = 0.0;
for(int i=0;i<var;i++)
{
s+=array[i];
}
return s;
}
使用 g++ 构建程序:
g++ -c array.cpp
g++ -c arrayfill.cpp
g++ -c arraysum.cpp
g++ -c main.cpp
g++ -o arraytest array.o arrayfill.o arraysum.o main.o
关于c++ - 标题中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33503303/