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

📄 subject_50833.htm

📁 vc
💻 HTM
字号:
<p>
序号:50833 发表者:goldenfaith 发表日期:2003-08-26 21:59:06
<br>主题:求助,两个类间的问题
<br>内容:怎么样在类class2中调用类class1的变量?<BR>我在class2中定义class1 *pointer;<BR>然后class1 obj1;<BR>class2 obj2;<BR>obj2.point=&amp;obj1<BR>MessageBox(obj2.point-&gt;x)//x即class1中的变量<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>
回复者:zzzzzzz 回复日期:2003-08-26 22:04:20
<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-08-26 22:29:25
<br>内容:友元只是为了改变private对象的值,如果要调用的变量是public的,没有必要用友元啊
<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>回复者:木一 回复日期:2003-08-27 09:10:11
<br>内容:你这样做是可以的,唯一的问题是你调用的时候有拼写错误。值得注意的是接下来的问题:<BR><BR>另外的问题是,你在class2中定义了class1的一个指针作为公用的成员变量。在class2的构造时,并不负责初始化class1,也就是说,你要在class2的构造时,另外写代码来告诉系统,class2的成员变量(指针)pointer指向什么?<BR><BR>第三个问题:将成员变量暴露出来可以自由访问,不是违法,只是习惯不好,不符合OOP的原则。 面向对象的法则之一是“面向接口编程”,也就是说对像之间的访问,只调用成员函数。<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-08-27 09:16:02
<br>内容:给class1设计好方法,然后在obj2的方法中调用呀
<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-08-27 09:35:12
<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-08-27 09:46:34
<br>内容:class a<BR>{<BR>private:<BR>&nbsp;&nbsp;&nbsp;&nbsp;int* p;<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;void t(){p-&gt;...;}<BR>};<BR><BR>class b<BR>{<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;void m(a* aa) {aa-&gt;t();}<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-08-27 11:05:43
<br>内容:懂了,谢谢木一兄
<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 + -