VC全局变量的定义.doc

VC全局变量的定义.doc

ID:61502940

大小:29.00 KB

页数:12页

时间:2021-02-07

VC全局变量的定义.doc_第1页
VC全局变量的定义.doc_第2页
VC全局变量的定义.doc_第3页
VC全局变量的定义.doc_第4页
VC全局变量的定义.doc_第5页
资源描述:

《VC全局变量的定义.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、全局变量一般这样定义: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中就不要加值

2、了。然后调用时,第一次调用的#i nclude ,以后调用的#i nclude 另:问:如何在VC++中使用全局变量,以使文档中的所有类都能访问。   答:把该变量放到该应用程序类的头文件中的attribute处。然后,在程序的任何地方,你都可以用下面的方法来访问该变量:   CMyApp *app=(CMyApp*)AfxGet-App();   app->MyGlobalVariable=…   用这个方法,不但可以定义全局变量,也可以定义全局对象。   例如:   MyClass MyObjec

3、t;   CMyApp*app=(CMyApp*)AfxGet-App();   app->MyObject.MyFunction(); VC中使用全局变量的2种办法及防错措施  1. 对于全局变量存在和函数一样的问题,为了在其他CPP文件中能够访问这些变量,必须在主文件的H文件中加上extern声明,格式如下: extern varibletype var; (声明)在主文件的CPP文件中定义 varibletype var; (定义)例子: AppWizard建立一个Test工程 那么在Test.h中声明extern CString 

4、cs; 在Test.app定义CString cs;    如果要定义整个工程的全局变量,在任何一个CPP文件中进行定义,然后在需要引用这个变量的文件中进行声明。如全局变量很多可以选择使用定义全局变量的。h文件,在需要的地方直接include头文件即可,不需要写那么多extern了。2.应用程序类的主头文件处定义变量varibletype var,然后,在程序的任何地方,都可以用下面的方法来访问该变量:    CClassApp *app=(CClassApp*)AfxGetApp();    app->var=  类似的,以上方法也可以

5、定义全局对象 例子: AppWizard建立一个Test工程 那么在Test.h中声明 CString cs; 使用的时候CTestApp *app=(CTestApp*)AfxGetApp();      app->cs="Global"  防错措施: 若定义的函数和全局变量在多个文件包含且造成嵌套或多次调用的话,这样将导致这个头文件每被包含依次,函数或变量就被重新定义一次,在链接编译时会导致重定义错误。为此需要使用一种被称为Guard macro的技术来保证不出错。在一个头文件开头加上  #ifndef   _MACRO_1_ #de

6、fine   _MACRO_1_ 在文件末尾增加  #endif  另外转一下一位朋友写的在MFC中定义全局变量在MFC下如何定义全局变量和全局函数VC++用MFC制作的工程由很多文件构成,它不能象一般C++程序那样随意在类外定义全局变量,在这里要想定义能被工程内多个文件共享的全局变量和函数必须用一些特殊方法才行。实际上有多种方法可以实现,这里只介绍两种方法。一、在应用程序类中定义用MFC生成的工程中都有一个名为CxxxApp的类,它派生于CWinApp类。这个类主要进行程序的初始化,生成文档、视图对象等工作。我们可以把需要全局访问的变量

7、和函数定义为这个类的成员变量和成员函数,就可以实现全局访问了。从严格意义上讲,这种变量和函数并不是全局的,因为它仍然只是类中的成员,只是由于我们很容易获得CxxxApp类的指针,所以我们可以在文档、视 图、对话框以及各种自定义类中访问到它们,达到与全局变量类似的效果。访问时用函数“AfxGetApp()”获得CxxxApp类的指针,用 “AfxGetApp()->成员”访问变量或函数。例:Test.h:(应用程序类头文件)class CTestApp : public CWinApp{public:int x; //全局变量int f(i

8、nt y); //全局函数…………};Test.cpp:(应用程序类程序文件)int CTestApp::f(int y) //全局函数定义{y++;return y;}定义在CTestApp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。