分享

怎么在MFC里面声明全局变量或者函数

 成长中辉煌 2013-06-16

我们可以在CWinApp的派生类中声明静态成员变量或者成员函数,那么就可以从所有的类去访问他们:

例如:

// MyApp.h

class CMyApp : public CWinApp

{

public:

  CMyApp();

 

  static int g_nMyVariable;      // 声明一个全局变量

  static void g_MyFunction();    // 声明一个全局函数

  ...

  etc

  ...

};

// MyApp.cpp

int CMyApp::g_nMyVariable = NULL;     // 全局变量定义和初始化 CMyApp::g_MyFunction()        // 全局函数定义

{

}

现在,这个变量和函数就可以从其他类中通过如下的语法访问:

CMyApp::g_nMyVariable 和 CMyApp::g_MyFunction

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

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

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


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多