運算子過載為成員函式,第乙個引數必須是本類的物件。而《和》的第乙個運算元一定是ostream型別,所以《只能過載為友元函式。
(1) 只能為友元
>> ( 輸入流操作 )
<< ( 輸出流操作 )
(1)**
#includeusing namespace std;
class test
private:
int a;
int b;
};ostream& operator<<( ostream &out, test &obj )
istream& operator>>( istream &in, test &obj )
int main()
(2)輸出
# ./operator
1 2input int:3 4
3 4
友元及操作符過載
友元 c 控制類物件私有部分的訪問,但有時候需要在類的外部訪問類的私有成員,這種情況下 c 提供了友元機制。友元函式,友元類 宣告為某一類 class 1 的友元函式 test 或則友元類 class 2 後,在 test 或則 class 2 中可以訪問 class 1 的私有成員。在類裡面宣告 ...
C 之過載操作符與友元
操作符過載c 多型的一種形式。過載函式形式 operator op argument list 其中op是操作符,操作符過載限制 1.過載後的操作符必須有至少乙個使用者自定義的型別 防止使用者為標準型別過載操作符 譬如不能過載操作符 去做double型別的減法 2.使用操作符不能違反原操作符的語法規...
C 友元過載輸出操作符(下篇)
假設trip是乙個time物件。為顯示time的值,可以使用show 函式,然而,如果可以像下面這樣操作更好 cout trip make cout recognize time class?解釋 是可以被過載的c 運算子之一。cout是乙個 ostream 物件,它是智慧型的,能夠識別所有的c 基...