MFC用静态变量和静态函数实现定义全局变量和全局函数

静态变量和静态函数有如下性质:

若在一个类中用关键字static声明数据成员,则这个数据成员就只存在一个拷贝,无论该类创建了多少个实例,它始终只存在一个,即使该类的实例一个也没创建,它也存在。若在一个类中用关键字static声明函数,该函数可以用“类名::函数名”方式访问,无需引用该类的实例,甚至这个类的实例可以不存在。

利用这个性质实现的全局变量和函数使用起来很方便。

值得注意的是,全局变量和全局函数最好集中封装,不要在文档、视图等类内部定义,这样用起来才有全局的感觉。

例:

  1. 添加一个没有基类的新类,设类名起为CPublic,姑且称之为公用类。新建一个项目,命名为UnknowGear,在类选项卡的项目名称上右键选择New Class…,在Name栏中填入类名CPublic,选择Class typeGeneric Class,单击确定,则新类建立完毕。
  1. 在public.h中定义全局变量或全局函数。

MFC用静态变量和静态函数实现定义全局变量和全局函数_第1张图片

  1. 在public.cpp中初始化全局变量或全局函数。

MFC用静态变量和静态函数实现定义全局变量和全局函数_第2张图片

  1. 全局变量或全局函数的使用。

使用变量:CPublic::变量名
使用函数:CPublic::函数()

在需要使用全局变量或全局函数的文件中包含public.h文件。

MFC用静态变量和静态函数实现定义全局变量和全局函数_第3张图片
MFC用静态变量和静态函数实现定义全局变量和全局函数_第4张图片

结束

你可能感兴趣的:(mfc)