📄 subject_51449.htm
字号:
<p>
序号:51449 发表者:天才 发表日期:2003-09-01 17:07:36
<br>主题:关于赋值运算符的重载
<br>内容:请看下面有两种重载赋值运算符的方法:<BR>class student<BR>{<BR>private:<BR> student() {}<BR>public:<BR> student(unsigned int iID,unsigned int iAge):m_iID(iID),m_iAge(iAge) {}<BR> /*void operator=(const student& s)<BR> {<BR> if(&s!=this)<BR> {<BR> m_iID=s.m_iID;<BR> m_iAge=s.m_iAge;<BR> }<BR> }*/<BR> student& operator=(const student& s)<BR> {<BR> if(&s!=this)<BR> {<BR> m_iID=s.m_iID;<BR> m_iAge=s.m_iAge;<BR> }<BR> return *this;<BR> }<BR> void print()<BR> {<BR> std::cout<<"ID is "<<m_iID<<" and Age is "<<m_iAge<<std::endl;<BR> }<BR>private:<BR> unsigned int m_iID;<BR> unsigned int m_iAge;<BR>};<BR><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>
回复者:dongfanghong 回复日期:2003-09-01 17:22:13
<br>内容:有区别:<BR>第二种支持:<BR>a=b=c<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>回复者:iamhere 回复日期:2003-09-01 17:24:15
<br>内容:区别在于返回值的不同,返回值为student&的还可以这么调用:<BR>student s1( 100 , 20 );<BR>student s2( 200 , 10 ); ;<BR>student s3 = ( s2 = s1 );<BR>而返回值为void *的却是不能
<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-02 09:08:50
<br>内容:因为iamhere使用了s3=(s2=s1)这种表达方式,而且叙述较详细,所以分给您了,东方兄不好意思了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dongfanghong 回复日期:2003-09-02 13:00:53
<br>内容:吸取教训,高手和菜鸟的差别啊,就是是否写清楚了。<BR>2003-9-2 13:03:42
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -