问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++的类成员函数如何访问全局变量?

发布网友 发布时间:2022-04-29 07:44

我来回答

5个回答

热心网友 时间:2022-06-21 07:09

全局变量一般这样定义:
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>
附:
问:如何在VC++中使用全局变量,以使文档中的所有类都能访问。
答:把该变量放到该应用程序类的头文件中的attribute处。然后,在程序的任何地方,你都可以用下面的方法来访问该变量:
  CMyApp *app=(CMyApp*)AfxGet-App();
  app->MyGlobalVariable=…
  用这个方法,不但可以定义全局变量,也可以定义全局对象。
  例如:
  MyClass MyObject;
  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 cs;
在Test.app定义CString cs;

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

热心网友 时间:2022-06-21 07:09

一般情况下,假如没有局部声明变量,就会调用全局变量,
如果声明了局部变量,则,局部变量会屏蔽全局变量。
除非你指定调用全局变量,加上作用域操作符::

热心网友 时间:2022-06-21 07:10

之所以叫全局变量就是因为他在整个程序中都是可见的!就是在整个程序中的所有函数中都是可以直接使用的!

热心网友 时间:2022-06-21 07:10

假如有个全局变量int a,存放于myfile.h文件中,则在类中用,需要添加#include "myfile.h"extern int a;即可

热心网友 时间:2022-06-21 07:11

可以直接使用。不需要进行别的设置。当然若内部有重名,那需要使用域标示。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
六岁孩子听些什么样的钢琴曲 0-3岁儿童启蒙早教学说话有哪些 赔偿协议书范本怎么写 我的儿子八岁,前两天感冒过,肝功不正常,具体如下;谷丙转氨酶326.3, 谷丙转氨酶97.9,谷草转氨酶39,谷氨酰转移酶68.2,病情重不重?如何治疗... 朋友借电动车出车祸了是否是要负责任 ...银行卡上开通了会员和黄钻,我只开了一个月,了是过期后它自动续费... ...淘宝现在可以开通永久qq黄钻,却开通不了一个月的,还有那永久是真的... QQ黄钻已经开通2个月了,当初是买了三个月的。现在有一张30元黄钻代金... 美好的早安心语优美的语句说说心情短语 MFC中怎么定义全局变量? 跪求励志正能量电视剧大全,【免费高清】在线观看百度网盘资源 盘点正能量励志电视剧大全,【免费高清】在线观看百度网盘资源 在MFC中如何定义全局变量,如何引用它? 要在应用程序类里用全局MessageBox函数,不是AfxMessageBox,弹出一个消息窗口,如何做到, 要在应用程序类里用全局MessageBox函数,,弹出一个消息窗口,如何做到, windows中应用程序全局窗口类、应用程序局部窗口类和系统全局窗口类的类名分别可以重名吗? c#开发应用程序有没web中类似session功能的函数或类什么的可用? asp.net发送邮件根据类别定时分别发送不同的人,用到Net.Mail类,代码怎... 小弟刚学。net,怎样才使每个登入网站的用户都赋予一个ID!(使用session,值为”年月日时分秒“保证ID值唯一 为什么visual studio 2010专业版找不到全局应用程序类,请大家帮帮忙。 vs2008 c#.net如何配置global.asax 衣服被漂白洗涤剂洗变色了,怎么补救? 请问 衣服洗变色了怎么办? 手机安装了酷我音乐怎么关掉屏幕上方的酷我图标 如何关闭酷我音乐广告 酷我音乐盒自动弹出游戏图标怎样设置不让它弹出? 怎么给洗坏的衣服重新染色啊? 酷狗音乐的弹幕功能关闭了?怎么在歌曲界面没有弹幕按键了? 铠甲, 怎么读 Java Web 中的过滤器如何使用 破壁机打小米糊放多少米比列是多少? 婴儿淮山米糊的做法 宝宝米糊的做法大全破壁机 一岁宝宝能喝破壁机打的米糊吗 要怎么才变成绿码? PID调节器中比例、积分、微分各自的作用 什么是比例、积分、微分控制? 为什么增加微分控制可以适当减小比例度 比列环节,积分环节,微分环节在系统中各有什么作用? 在pid调节系统中,怎样增强微分作用 PID调节中比例、 积分、微分各自的作用! 打二价可以刷男友医保卡吗- 问一问 PID控制器中,积分控制的作用是( ) .PID控制器中的三个环节分别在控制系统起着什么样的作用? 自动控制原理中,微分会产生一个早起的修正信号,请问其是怎么其作用的?为什么微分相当于系统增加了阻尼 积分时间、微分的时间和积分时间常数、微分时间常数之间有什么关系? 委员建议将接种HPV纳入医保具体如何实施? hpv疫苗可以刷医保吗 代表建议将HPV疫苗接种纳入医保,你认为有这个必要吗?