為了與io標準庫一致,過載輸入輸出運算子函式的第乙個行參應該是流的引用,第二個行參是物件的引用。
如果過載為類的成員函式,第乙個行參應該是物件的引用,第二個行參是流的引用。
使用方式是 classobj << cout 這樣與標準io庫就不一致了,所以輸入輸出運算子不能過載為類的成員函式,可以過載為類的友元函式和普通函式。
通常過載輸出運算子《的第二個形參是const的,因為輸出乙個類不許要更改它;
但是過載輸入運算子》的第二個形參必須是非const的,否則無法賦值。
過載的基本方法如下:
//過載輸出運算子
ostream& operator<<(ostream& out, **const** classtype& obj)
//過載輸入運算子
istream& operator<<(istream& in, classtype& obj)
C 運算子過載 輸入 輸出運算子
為了與io標準庫一致,過載輸入輸出運算子函式的第乙個行參應該是流的引用,第二個行參是物件的引用。如果過載為類的成員函式,第乙個行參應該是物件的引用,第二個行參是流的引用。使用方式是 classobj cout 這樣與標準io庫就不一致了,所以輸入輸出運算子不能過載為類的成員函式,可以過載為類的友元函...
過載輸入輸出運算子
我們平時可以用流 std cout str n 輸出 輸入字串和整型等內建型別的值。但是對於我們自定義的類,比如 student 類,卻不能直接通過 cout student 這樣的形式來輸出類的內容或給類賦值。怎麼辦呢?我們可以通過過載輸出 輸入運算子,讓自定義的類也支援這樣的操作。通常情況下,輸...
過載輸入輸出運算子
過載輸入輸出運算子 過載輸出運算子 第二個引數一般來說是乙個常量的引用,該常量是我們想要輸出的類型別。用引用是因為我們希望避免複製實參 用常量是因為通常列印物件的時候不需要改變物件的內容 輸出運算子應儘量減少格式化的操作,尤其是換行符,這樣有利於使用者對輸出格式的控制。一般會宣告為友元函式 frie...