在几个函数中使用相同的变量

时间:2011-08-15 20:13:31

标签: c++ function variables

在我的代码中,由于效率考虑,我在其自己的文件中放置了一个长函数(让我们将它命名为a.cpp)。我还创建了一个名为b.cpp的第二个文件,该文件包含另一个使用相同变量名称的函数。

我曾尝试为这些变量创建一个头文件但它不起作用。有没有办法做到这一点(除了将功能放在同一个文件中)?

一个简单的例子:

a.cpp

double s;

void a(){
  s = 1.0;
  printf("%f\n",s);
}

b.cpp

double s;

void b(){
  s = 2.0;
  printf("%f\n",s);
}

注意 这些文件中的每一个实际上都是c,但整个程序是c ++。

3 个答案:

答案 0 :(得分:6)

在两个(或标题中)写extern double s;。这是一个没有定义的声明。

然后在一个 double s;文件中写下.cpp - 这就是double对象在物理上“活”的位置。

More here

答案 1 :(得分:0)

双击;在a.cpp。写extern s;在a.h。

同样良好的编程习惯是一个功能应该适合屏幕/ a5的一侧。

答案 2 :(得分:-3)

将双s放入头文件中。

在每个.cpp文件的顶部执行:

#include "filename.h"

将变量引入cpp文件以供使用。将它定义为静态也是好的...但我们不会进入那个。

PS:如果可以避免,你不应该像这样使用全局变量。这不是好的OO设计。