您的位置:控制工程论坛网论坛 » 自动化软件 » 怎么在MFC里面声明全局变量或者函数

zhiy66

zhiy66   |   当前状态:在线

总积分:6528  2025年可用积分:0

注册时间: 2007-12-18

最后登录时间: 2012-01-11

空间 发短消息加为好友

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

zhiy66  发表于 2009/3/23 21:52:36      925 查看 3 回复  [上一主题]  [下一主题]

手机阅读

我们可以在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>

 

1楼 0 0 回复
  • semiscone

    semiscone   |   当前状态:在线

    总积分:4800  2025年可用积分:0

    注册时间: 2008-04-29

    最后登录时间: 2013-07-11

    空间 发短消息加为好友

    semiscone   发表于 2008/12/10 23:03:37

    MFC,微软基础类(Microsoft Foundation Classes),同VCL类似,是一种Application Framework,随微软Visual C++ 开发工具发布。目前最新版本为9.0(截止2008年11月)。该类库提供一组通用的可重用的类库供开发人员使用。大部分类均从CObject 直接或间接派生,只有少部分类例外。
    2楼 回复本楼

    引用 semiscone 2008/12/10 23:03:37 发表于2楼的内容

  • semiscone

    semiscone   |   当前状态:在线

    总积分:4800  2025年可用积分:0

    注册时间: 2008-04-29

    最后登录时间: 2013-07-11

    空间 发短消息加为好友

    semiscone   发表于 2008/12/10 23:04:27

    3楼 回复本楼

    引用 semiscone 2008/12/10 23:04:27 发表于3楼的内容

  • lthlycyj

    lthlycyj   |   当前状态:在线

    总积分:2346  2025年可用积分:0

    注册时间: 2007-09-03

    最后登录时间: 2019-06-23

    空间 发短消息加为好友

    lthlycyj   发表于 2009/3/23 21:52:36

    4楼 回复本楼

    引用 lthlycyj 2009/3/23 21:52:36 发表于4楼的内容

总共 , 当前 /