一个project中有几个类,每个类定义了一些全局变量,这些全局变量在其他类中用到。现在,我想把这些类都放到同一个头文件中,但这样做会可能会带来一些问题。请问各位,我应该怎样做才能避免这些问题,这些问题是什么?  劳驾各位了,谢谢!

解决方案 »

  1.   

    你概念不清啊!
    类里如何定义全局变量啊???
    你可能是说这些全局变量和类声明在一个文件里,是吗?
    放一个文件里当然没问题,只要名字不冲突。可以加上
    #Ifdef
    #endif来做到只预编译一次。
      

  2.   

    是啊
    你可以在一个地方定义所有全局变量啊。其它文件包含一下就好了呀。
    用时别忘了加extern.
      

  3.   

    在头文件中声明变量的时候加上 extern 关键字,然后再在cpp文件中实现变量。
      

  4.   

    不好意思,我的意思是:每个类的.cpp文件中原来定义了一些全局变量,现在想把它放到一个头文件中。具体该怎么做?
      

  5.   

    我觉得先剪切,粘贴在一个文件里。如果在另外的文件里用时再用extern
    包含一下就ok了。
      

  6.   

    加入到 pubulic里面就可以了
      

  7.   

    很简单
    将所有的变量都拷贝到一个文件里
    然后在各.cpp的文件里包含即可,但注意你的这个头文件能被
    vc找到;如果你实在不知道怎么办,将绝对路径加上
    #include "c:\\myh\\myh.h"
      

  8.   

    现在的情况是:我的这几个类相互调用,也就是可能要多次#include 对方,所以如果用#include ***.h(存放全局变量的头文件)的话,必然会出现重定义的情况。而且,我的这几个全局变量不是普通的全局变量,是一些类的实例。我试着用extern ...的方法(在使用它的类的实现文件中)使用全局变量,出现了不能解析这些全局变量的提示,请问我该怎么办?