C ++中有更多类和外部变量

时间:2012-11-25 13:15:42

标签: c++ class global extern

将文件链接在一起时遇到了一些麻烦。有一些我正在使用的课程:

文件A.h中的A类标题

class A
{
public:
    B someVariable;    //there is class B used!!
    int number;
};
文件B.h中 B类标题

class B
{
public:
    void someMethod();  
};

实施B

B::someMethod()
{
    cout << "Value is:" << globalInstanceOfA.number << "\n";
}

然后在另一个文件中我需要声明一个全局变量globalInstanceOfA,我将在整个程序中使用它...

但是我无法解决将include,extern等放在哪里的问题。我尝试过这样的事情:

#include "A.h"
#include "B.h"

extern A globalInstanceOfA;

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

该行

extern A globalInstanceOfA;

进入您必须包含的头文件才能使用变量globalInstanceOfA;这提供了全局变量的声明

该行

A globalInstanceOfA;

进入任何cpp文件,为全局变量提供定义。程序中的所有cpp文件中必须只有一个定义。