我遇到过类似的问题,我的解决方法是这样的,可能不是一个好的解决方法,仅供参考。 在某个**.c文件中声明一个全局变量,比如 int c; 插入一个**.h文件添加如下内容:extern int c; 在每个需要c这种变量的文件中,都加入#include **.h 这样就可以在各个文件中处理c并且是同一个c
有个全部变量theapp你应该知道吧 你点击它就会跳到他的定义位置 然后这个位置就是全部变量比如int c 当你在其他类中需要这个变量的时候 在.cpp头或.h头添加extern int c;
在某个**.c文件中声明一个全局变量,比如 int c;
插入一个**.h文件添加如下内容:extern int c;
在每个需要c这种变量的文件中,都加入#include **.h 这样就可以在各个文件中处理c并且是同一个c
2、如果是正儿八经的项目里用的话,建议用数据抽象层的方式保存数据。例:struct IDataDemo
{
virtual void SetVal(int nVal) = 0;
virtual int GetVal() const = 0;
//......
private:
int m_nVal;
//......
};class CDataDemo : public IDataDemo
{
public:
virtual void SetVal(int nVal){m_nVal = nVal;}
virtual int GetVal() const{return m_nVal;}
};使用的时候:
IDataDemo* demo = new CDataDemo();
demo->SetVal(1);
//....
参数传递的时候:
void Test(IDataDemo* pDemo);
也可以把这个struct弄成单例模式的,同样也是#include **.h,需要的地方GetInstance就行了,稍微复杂一点。
再或者把所有成员都弄成static。