2013-11-01 20 views
2

screenshotC++運算符重載 - uni測驗答案看起來不對?

大家好

有一直對我們今年的單coursenotes一些錯誤,我只是在看測驗修訂考試前,附加PIC顯示正確答案「,這不能作爲非成員運算符重載實現。

發佈就到這裏在時間上可能無法從單向論壇得到答案。我誤解的東西,或者是低於錯誤的答案?

謝謝:)

+5

標記正確的答案確實是正確的。 – chris

+3

這可疑看起來像你試圖讓人們在這裏同意你,所以你可以向你的老師展示。儘管運氣不佳 - 測驗答案從第一眼看起來似乎是正確的。 –

+6

它爲什麼「看起來不對」?爲你的位置提供推理。 (這可以基於所聲稱的事實進行驗證和/或反駁。) – user2864740

回答

1

非成員函數運算符必須包含兩個參數。所有選項除了最後一個都有兩個參數,所以d就是答案。如果它是作爲成員函數或具有名稱的常規函數​​創建的,則它將進行編譯。

1

operator >這樣的二元運算符總是需要2個參數才能起作用。但是,成員函數獲得this作爲第一個參數。非會員當然沒有得到this這就是爲什麼簽名必須接受兩個參數。

所以「d」對於上面的「多重猜測」問題是正確的。