如何声明变量以使其保持其值并且可以从C ++中的任何类访问?

时间:2016-01-05 12:57:49

标签: c++ class scope

My Projects包含多个类,每个类都有自己独立的.h和.cpp文件。
我想声明一个变量use,以便我可以从任何类访问/修改它的值。

2 个答案:

答案 0 :(得分:3)

您可以添加另一个翻译单元来定义命名空间范围内的变量,并通过提供声明使其可访问:

<强> var.h:

extern int a;

<强> var.cpp:

#include "var.h"

int a = 15;

现在,您计划中的每个翻译单元都可以#include "var.h"并使用a

a)给变量一个有意义的,明确的名称,并且b)将它放在一个命名的命名空间中可能是明智的。

答案 1 :(得分:0)

您可以在其中一个类中使用公共静态变量,或者您可以调皮并在一个模块中的所有类之外声明一个全局变量,然后使用extern关键字在其他模块中引用它。

C ++是一种混合OOP语言:您不必一直使用类。如果你这样做,那就准备好被自以为是的程序员和StackOverflow潜伏者焚烧。