C++ 之友元運算符函數與成員運算符函數的不同

友元運算符函數和成員運算符函數有什麼不同?

1、運算符函數可以定義爲它將要操作的成員,稱爲成員運算函數。定義爲類的友元函數,稱爲友元運算函數。

2、雙目運算符成員運算符函數帶一個參數,第一個操作數被隱含,友元運算符函數帶兩個參數。單目運算符而言成員運算符函數不帶參數,操作數被隱含,友元運算符帶一個參數。

3、雙目運算符一般情況,可被重載爲友元運算符函數或成員運算符函數。但在一種情況下,當雙目運算符的左操作數是一個基本數據類型,而右操作數是一個類類型時,則必須使用友元函數。

4、成員運算符函數和友元運算符函數可以用習慣方式調用,也可以用它們專用的方式調用。

5、大部分運算符既可以聲明爲成員運算符,也可以聲明爲友元運算符。雙面,友元比成員方便;單目,成員。“=,(),[],->”,只能時成員。“+=,-=,/=,*=,&=,!=,~=,%=,>>=,<<=”,建議成員,其它則建議爲友元。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章