VC++中用全局变量

全局变量一般这样定义:

     1。在一类的.cpp中定义 int myInt; 然后再在要用到的地方的.cppextern 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>

     4.如果要使用自定义的全局自定义类一般如下方法,可使在所有文件中都可以使用。 ,stdafx.h中加入类的头文件 ,stdafx.cpp中加入类的定义如:CMyClass g_class; ,在你程序的app类中,如果CTestProjectApp类的头文件的开头处加上 extern CMyClass g_clas 以上是把网上和自己的用法综合

vc++中有全局变量及全局函数这么一说,不像C#所有都局部. 不管是好是坏,如果一定要定义全局变量或全局函数这样较好…..
 
     1、添加一个没有基类的新类,设类名起为CPublic
     2、包含公用类的头文件,使各个类都能访问它
#include “Public.h” //在应用程序类(APP)的头文件中包含此公用类头文件
     3、在公用类中定义全局变量和全局函数,均使用static修饰,静态变量还必须在类外定义和初始化!!
Public.h:(公用类头文件)
 
class CPublic
{
public:
CPublic();
virtual ~CPublic();
 
public:
static int x; //全局变量
static int time; //全局变量
static int f(int y); //全局函数
…………
}
Public.cpp:(公用类程序文件)
 
int CPublic::x = 0; //初始化全局变量
int CPublic::time; //定义全局变量
int CPublic::f(int y)
{
y++;
return y;
}
     4、全局量的使用
void CTestView::xyz()
{
CPublic::x = 0; //访问变量x
CPublic::time = CPublic::f(1); //访问函数f()
…………
}
     5、几点注意:
  ① 由于静态量可独立于类存在,不需要生成CPublic类的实例。
  ② 静态数据成员的定义和初始化必须在类外进行,如例中x的初始化;变量time虽然没有初始化,但也必须在类外进行定义。由于没有生成CPublic类的实例,所以它的构造函数和析构函数都不会被执行,在里面做什么工作都没有什么意义。
  ③ 如果静态函数需要访问CPublic类内的变量,这些变量也必须为静态的。因为非静态量在不生成实例时都不会存在。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值