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

📄 subject_39446.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:39446 发表者:IEEE 发表日期:2003-05-11 09:00:38
<br>主题:请教大虾
<br>内容:C++中规定类的对象无权访问该类的private及protected成员,但下面的程序却难以理解。<BR>#include "iostream.h"<BR>class a<BR>{<BR>protected:<BR>&nbsp;&nbsp;int i;<BR>public:<BR>&nbsp;&nbsp;a(int x) { i=x; }<BR>&nbsp;&nbsp;a(a &amp;c) { i=c.i; } //c直接访问了protected成员 i,编译没问题!<BR>&nbsp;&nbsp;void show() { cout&lt;&lt;i&lt;&lt;endl; }<BR>}<BR><BR>void main()<BR>{<BR> a d(9);<BR> a d1(d);<BR> d1.show();<BR> cout&lt;&lt;d.i&lt;&lt;endl;&nbsp;&nbsp; //d直接访问了protected成员 i,编译有问题!<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>
回复者:擎天柱 回复日期:2003-05-11 09:15:24
<br>内容: a(a &amp;c) { i=c.i; } //c直接访问了protected成员 i,编译没问题!<BR>当然没有问题了,c的类型是a,也就是他自己,自己当然可以访问自己的保护类型的成员了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:IEEE 回复日期:2003-05-11 09:23:44
<br>内容:能否讲详细点,应该说c是a类型的另外一个对象.
<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>回复者:theta 回复日期:2003-05-11 10:22:55
<br>内容:C++中规定类的对象无权访问该类的private及protected成员,但是在该类的成员函数定义中可以访问本类的对象的private及protected成员。如:<BR><BR>class a<BR>{<BR>protected:<BR>&nbsp;&nbsp;int i;<BR>public:<BR>&nbsp;&nbsp;a(int x) { i=x; }<BR>&nbsp;&nbsp;a(a &amp;c) { i=c.i; } //c直接访问了protected成员 i,编译没问题!<BR>&nbsp;&nbsp;void show() <BR>&nbsp;&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;&nbsp; a d(12);<BR>&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; d.i &lt;&lt; endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;i&lt;&lt;endl; <BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; void foo1()<BR>&nbsp;&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;&nbsp; a d(12);<BR>&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; d.i &lt;&lt; endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp; d.i++;<BR>&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; d.i &lt;&lt; endl;<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; void foo2(a&amp; d)<BR>&nbsp;&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; d.i &lt;&lt; endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp; d.i++;<BR>&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; d.i &lt;&lt; endl;<BR>&nbsp;&nbsp; }<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>
回复者:IEEE 回复日期:2003-05-11 18:27:07
<br>内容:you are right!<BR>thanks.
<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 + -