只要添加在某一个include了所有类的头文件的地方不就可以了么?

解决方案 »

  1.   

    什么是“可以引用所有类的全局变量”
    如果是“所有类可以引用的全局变量”只要在符合逻辑的地方都可以,一般VC在App或View中加。访问是用AfxGetApp()->或获取View 的指针(比较多,一时想不出来)来访问。
      

  2.   

    可以在CYourApp类中加
    这样:
    在CYourApp类中
    int m_var;
    访问时:CYourApp * app = (CYourApp *)AfxGetApp();
    app->m_var = .........;
      

  3.   

    不要在class中定义,定义在之外。
    比如:
    在文件.h中
    int g_nTemp;
    class A
    {
    ...............
    }在你想调用的文件中:
    extern int g_nTemp;
      

  4.   

    假设你创建程序:XXX
    那么你在XXX.cpp中加入(不要在class内部,就放置在class上面,也务必放置在#include上面):int g_nTemp = 0;//初始化
    接着在XXX.h加入extern int g_nTemp;那么一般每个class都要#include XXX.h,那么你就可以随心所意地调用g_nTemp了。
      

  5.   

    在程序的任意地方定义
     int a;
    在需要此变量的地方(不在同一个文件内)
    extern int a;
    这两个为同一个a
    例如:
    在你的应用程序类的实现文件中定义了一个变量(不要定义成应用程序类的数据成员)
    int a;
    在你的视图类中要用到该变量
    就extern int a;
    OK
      

  6.   

    在app头文件的类定义前面定义extern int g_nTemp;
    再在app的cpp文件开头int g_nTemp=0 初始化一下即可
      

  7.   

    feelinn(feelinn) 老兄说得很对,你的问题是不是提的有毛病
    什么是“可以引用所有类的全局变量”
    如果是“所有类可以引用的全局变量”只要在符合逻辑的地方都可以,一般VC在App或View中加。访问是用AfxGetApp()->或获取View 的指针(比较多,一时想不出来)来访问。
      

  8.   

    在APP的CPP中定义:int g_nVar = -1;
    在stdafx.h中定义:extern int g_nVar;
    到处可直接使用!
      

  9.   

    在mfc中,一般都加在app类中,因为它的指针最容易得到!AfxGetApp()->,至于你所保存的类的值可以在其构造函数中赋到app类的成员变量中,以备后来使用。
      

  10.   

    定义在cpp文件中。其cpp文件用到的话 定义前面加 extern 关键字
      

  11.   

    “可以引用所有类的全局变量”这个说法似乎有些不妥,应该称作“所有类可以引用的全局变量”,实际上你想问的是全局变量如何定义和使用,是不是?
        如果是的话,哪问题就比较简单了.全局变量只要定义在任何函数体外即可,当然最好是统一定义在一个.cpp或.h中,习惯上将全局变量定义在类的app类中.需要使用时,只要引用即可.在需要使用的cpp文件上面填写如下语句,
        extern + 全局变量定义