c++中運算符=為什么必須重載為類的成員函數
4 回答

胡說叔叔
TA貢獻1804條經驗 獲得超8個贊
假設有個類A,如下語句:A a;A b=a;
這時候的復制運算符會起作用,而且是以成員函數被調用的,等價于b.operate=(a)。如果不是成員函數,那么不能這樣使用。另外,必須重載說法是有問題的,只有類里面有指針成員的時候才需要重載

撒科打諢
TA貢獻1934條經驗 獲得超2個贊
class object如果實現了成員operator<< ,調用其對象格式o<<cout; 是不是很亂。重載運算符為成員函數后,當調用該運算符時,左操作數必須是該類的實例。友元函數 流參數定義第一個參數.才能調用cout<<obj;而成員函數流參數不是第一個參數,調用時應該是obj<<cout;
雖然不能“重載”為成員函數,但是可以定義為新的成員函數,只不過使用習慣和常例不符而已。
添加回答
舉報
0/150
提交
取消