MFC中定义全局变量

来源:互联网 发布:win10下载不了软件 编辑:程序博客网 时间:2024/05/16 01:16

全局变量一般这样定义:
1。在一类的.cpp中定义 int myInt;
然后再在要用到的地方的.cpp里extern int myInt;这样就可以用了。

2。在stdafx.cpp中加入:
int myInt;
然后在stdafx.h中加入:
extern int myInt
这样定义的变量以后无论在什么文件中都可见的.

如果是类对象:
在stdafx.h中这样声明:
extern CMyClass g_class;
在stdafx.cpp中定义:
CMyClass g_class;
但有一点:stdafx.h中 extern CMyClass g_class;这句前必须有CMyClass的定义,或者#include CMyClass的定义。

3。比较规范的是,先定义一个Glbs.h,把所有的全局变量原始定义放进去。然后定义一个Externs.h,把你先前定义在Glbs.h中的变量都加上extern。注意:如果你在Glbs.h中设置了初值,那么在Externs.h中就不要加值了。然后调用时,第一次调用的#i nclude <Glbs.h>,以后调用的#i nclude <Externs.h>

4.在CApp中定义变量:
CString g_sUser;//定义全局
在要引用的类中如此:
extern CSvApp theApp;//加入 这句.在.CPP文件的构造函数前.
在引用时:if( theApp.m_sUserName == "") ;//这样引用.

5.如果要使用自定义的全局自定义类一般如下方法,可使在所有文件中都可以使用。
一,在stdafx.h中加入类的头文件
二,在stdafx.cpp中加入类的定义 如:CMyClass g_class;
三,在你程序的app类中,如果CTestProjectApp类的头文件的开头处加上 extern CMyClass g_clas

原创粉丝点击