静态变量和静态函数有如下性质:
若在一个类中用关键字static声明数据成员,则这个数据成员就只存在一个拷贝,无论该类创建了多少个实例,它始终只存在一个,即使该类的实例一个也没创建,它也存在。若在一个类中用关键字static声明函数,该函数可以用“类名::函数名”方式访问,无需引用该类的实例,甚至这个类的实例可以不存在。
利用这个性质实现的全局变量和函数使用起来很方便。
值得注意的是,全局变量和全局函数最好集中封装,不要在文档、视图等类内部定义,这样用起来才有全局的感觉。
例:
- 添加一个没有基类的新类,设类名起为CPublic,姑且称之为公用类。新建一个项目,命名为UnknowGear,在类选项卡的项目名称上右键选择New Class…,在Name栏中填入类名CPublic,选择Class type为Generic Class,单击确定,则新类建立完毕。
- 在public.h中定义全局变量或全局函数。
- 在public.cpp中初始化全局变量或全局函数。
- 全局变量或全局函数的使用。
使用变量:CPublic::变量名
使用函数:CPublic::函数()
在需要使用全局变量或全局函数的文件中包含public.h文件。