C ++从类头文件访问全局整数

时间:2014-03-28 19:36:10

标签: c++ class variables integer header-files

我有一个声明一个类的头文件,我希望这个类访问一个已经在主cpp C ++文件中声明的整数(即另一个文件而不是类'一个)。我一直在Google上搜索,没有发现任何相关内容。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

要在源文件之间共享全局变量,请使用extern关键字。

的main.cpp

#include "foo.h"

int global_var=0;

int main()
{
    foo();
    return 0;
}

foo.h中

#ifndef FOO_H
#define FOO_H

extern int global_var;

void foo();

#endif

Foo.cpp中

#include "foo.h"

int foo()
{
    global_var=1;
}

答案 1 :(得分:0)

将main.cpp中的整数移动到一个函数中,使其静态存在,让函数返回对它的引用,并将函数放入自己的头文件中,即类头文件(或实现文件,如果适用)包括。

integer.h:

#ifndef INTEGER_H // use some better, longer name here
#define INTEGER_H

int &Integer();

#endif

integer.cpp:

#include "integer.h"

int &Integer()
{
  static int i = 0;
  return i;
}

访问这样的整数:

int x = Integer(); // copy

Integer() = 123; // assign