2 回答

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
你重載的加法運(yùn)算符沒(méi)做什么事?。?/p>
沒(méi)有改變加法的第一個(gè)操作數(shù)——?m_iX=+m_iX; 這樣的代碼不是什么都沒(méi)做嗎!?
還直接返回了第二個(gè)操作數(shù)
所以?coor3?=?coor1?+?coor2; 這句就直接把coor2賦值給了coor3,而coor2之前被自減為(1, 3),所以coor3也是(1, 3)。
這是你想要的行為嗎?
你的加法運(yùn)算符是不是想要將兩個(gè)坐標(biāo)加起來(lái)?
也許應(yīng)該寫(xiě)成這樣:
Coordinate?operator+(const?Coordinate?&r) { ????Coordinate?rez(m_iX?+?r.m_iX,?m_iY?+?r.m_iY); ????return?rez; }
? ?

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
? ??//?+號(hào)運(yùn)算符重載
????Coordinate?&operator+(Coordinate?&c)
????{
? ? ? ? c.m_iX += this.m_iX;
? ? ? ? c.m_iY += this.m_iY;
????????return?c;
????}
要區(qū)分變量屬于的對(duì)象,不加this默認(rèn)的當(dāng)前的操作對(duì)象。
- 2 回答
- 0 關(guān)注
- 1415 瀏覽
添加回答
舉報(bào)