⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_51761.htm

📁 vc
💻 HTM
字号:
<p>
序号:51761 发表者:goldenfaith 发表日期:2003-09-04 08:56:10
<br>主题:菜鸟问题
<br>内容:请问,要定义一个能在多个类里通用的全局变量/全局函数,该在什么地方定义啊
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:vc6 回复日期:2003-09-04 08:59:50
<br>内容:可以在mainframe.cpp中。注意不需要CMainFrame::,而是直接函数定义,比如:<BR>void Fun()<BR>{<BR><BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:goldenfaith 回复日期:2003-09-04 09:28:15
<br>内容:我在mainframe.cpp中定义一个全局变量x,在一个对话框类中调用x<BR>编译还是说'x' : undeclared identifier<BR>为什么啊?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小白菜 回复日期:2003-09-04 09:36:59
<br>内容:没有包含mainframe.cpp<BR><BR>或者你定义一个类其他的都派生这个类
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:vc6 回复日期:2003-09-04 09:41:47
<br>内容:原因是引用不到。<BR><BR>比较简单的做法:<BR>所有的全局变量都在app类中定义。<BR>系统已经在app.cpp中定义了CxxxApp theApp;<BR>需要在app.h中的app类定义后增加:<BR>extern CxxxApp theApp;<BR><BR>这样在所有的地方都可以通过theApp.来访问定义的变量了。<BR><BR><BR>如果是公用函数的话,写在一个.h文件中,<BR>然后在stdafx.h中包含这个.h文件,在所有的地方都可以直接用了。<BR>后果就是可能编译慢一些,不过程序不大,没有什么感觉的。<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:goldenfaith 回复日期:2003-09-04 09:48:32
<br>内容:楼上的意思是在对话框类的.cpp中包含mainframe.h?我包含了啊<BR>至于第2种方法太复杂了吧?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:vc6 回复日期:2003-09-04 09:52:52
<br>内容:不但要包含mainframe.h,而且要在mainframe.h定义<BR>extern Typedef x;<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:goldenfaith 回复日期:2003-09-04 10:23:36
<br>内容:谢谢bendan兄,不过你说的在app中定义全局变量还是没搞懂<BR>比如在app中要定义一个全局变量x,该怎么做?<BR>还有,既然全局函数可以写在一个专门.h文件中,那变量也可以这么搞吧?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:vc6 回复日期:2003-09-04 10:29:33
<br>内容:比如在app中要定义一个全局变量x,该怎么做?<BR>--&gt;当做CxxApp的成员变量。theApp是CxxxApp的对象,在所有的地方可以通过theApp访问CxxxApp的成员。<BR>其实全局的函数也可以这么定义。<BR><BR>还有,既然全局函数可以写在一个专门.h文件中,那变量也可以这么搞吧?<BR>--&gt;函数可以多程序复用,变量没有必要。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:goldenfaith 回复日期:2003-09-04 10:48:25
<br>内容:把x定义成Cxxapp的成员变量后,我在一个对话框类中用theApp.x<BR>编译还是说'theApp' : undeclared identifier,请问哪里有问题?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:vc6 回复日期:2003-09-04 10:56:42
<br>内容:需要在app.h中的app类定义后增加:<BR>extern CxxxApp theApp;<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:goldenfaith 回复日期:2003-09-04 11:04:32
<br>内容:可以了,谢谢<BR>可以说说这句什么意思吗?<BR>extern CxxxApp theApp;<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:vc6 回复日期:2003-09-04 11:17:51
<br>内容:引用外部的CxxxApp theApp;定义。<BR>找本C的书,上面的解释会更清楚。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -