📄 subject_35074.htm
字号:
<p>
序号:35074 发表者:whattodo 发表日期:2003-04-03 21:39:12
<br>主题:为什么答案会是cout<<"T1:";T1.disp();而不是cout<<T1.disp();请指教。
<br>内容:各位大侠,这个程序的输出地方出了问题,很奇怪,解决不了,请各位指教!<BR>#include <iostream.h> <BR><BR>class Triangle<BR>{<BR>float x;<BR>float y;<BR>float z;<BR>float area;<BR>public:<BR>Triangle(float x1,float y1,float z1)<BR>{<BR>x=x1;y=y1;z=z1;<BR>float d=0.5*(x+y+z);<BR>area=sqrt(d*(d-x)*(d-y)*(d-z));<BR>}<BR>void disp()<BR>{<BR>cout<<"面积为:"<<area<<endl;<BR>}<BR>friend float operator+(Triangle &,Triangle &);<BR>friend float operator+(float ,Triangle &);<BR>};<BR><BR>float operator+(Triangle &T1,Triangle &T2)<BR>{<BR> return T1.area+T2.area;<BR>}<BR> float operator+(float t,Triangle &T)<BR>{<BR> return t+T.area;<BR>}<BR>void main()<BR>{<BR>Triangle T1(4,5,3),T2(5,6,7),T3(4,5,6),T4(7,8,9);<BR>float s;<BR>s=T1+T2+T3+T4;<BR>cout<<"T1:";T1.disp();//这个编译没有问题<BR>cout<<T2.disp();//这个为什么不行呢?看起来没有什么毛病啊!编译通不过。<BR>//cout<<T3.disp();<BR>//cout<<T4.disp();<BR>cout<<s<<endl;<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:mimibaby 回复日期:2003-04-04 13:21:36
<br>内容:哈,因为你的涵数disp()反回为空,所以无法输出!这样改一下:<BR>float disp()<BR>{<BR>return area;<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>
回复者:whattodo 回复日期:2003-04-05 19:55:50
<br>内容:mimibaby ,谢谢你。你是对的。<BR>不过cout<<"T1:";T1.disp();同样是正确的。而且是在disp 函数是void 的情况下的。这个语句是什么意思呢,为什么要这样写呢?是I/O流的事吗?我还没有学到那里。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:mimibaby 回复日期:2003-04-07 09:40:52
<br>内容:cout<<"T1:";T1.disp();这句和cout<<T1.disp();是不一样的!<BR><BR>cout<<"T1:";T1.disp();它先输出:T1:然后执行<BR>cout<<"面积为:"<<area<<endl 所以没什么错!<BR><BR>而cout<<T1.disp();后它只不过是是将T1.disp()的返回直输出<BR>而T1.disp()的返回为空你再让它输出,当然就有错了。<BR><BR>也可以这样改:cout<<T2.disp();-》cout<<“T2:”;T2.disp();<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>
回复者:whattodo 回复日期:2003-04-07 18:55:28
<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>
回复者:mimibaby 回复日期:2003-04-08 09:34:46
<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 + -