0
我的C++講師聲稱,無論何時您必須實現operator +(),您還必須提供operator + =()以及?operator +()和operator + =()
我無法理解這個邏輯,有人可以向我解釋這個決定背後的邏輯嗎?
我的C++講師聲稱,無論何時您必須實現operator +(),您還必須提供operator + =()以及?operator +()和operator + =()
我無法理解這個邏輯,有人可以向我解釋這個決定背後的邏輯嗎?
您的講師是錯誤的。
,你可以總結兩個對象形成新的第三個對象(這是二進制+
一樣),但這並不一定意味着你的對象應該是修改「到位」(這是什麼+=
一樣)。
換句話說,當且僅當您的類支持的到位是修改的概念,那麼它是一個相當良好的編程習慣提供+=
只要您同時提供+
和=
。但無論如何,這裏沒有「必須」。
如果你打算做一個,那麼兩者都有意義,但是對此沒有「必須」。 – crashmstr
不,沒有任何東西強迫你這樣做,它只是推薦,因爲它是合乎邏輯的。 – clcto
索賠是不合理的:Z運營商+(X,Y) –