MFC中定义全局变量

全局变量一般这样定义:
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
————————————————
版权声明:本文为CSDN博主「DayThinking」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sszgg2006/article/details/8789739

直面挫折,顽强生长
原文地址:https://www.cnblogs.com/ndyxb/p/12517020.html