2
我正在測試一些與重載IO操作符相關的C++代碼。作爲代碼如下:在C++中重載IO操作符時使用cout/cin?
class Student {
private:
int no;
public:
Student(int n)
{
this->no = n;
}
int getNo() const {
return this->no;
}
friend istream& operator>>(istream& is, Student& s);
friend ostream& operator<<(ostream& os, const Student& s);
};
ostream& operator<<(ostream& os, const Student& s){
cout << s.getNo(); // use cout instead of os
return os;
}
istream& operator>>(istream& is, Student& s)
{
cin >> s.no; // use cin instead of is
return is;
}
然而,<<
和>>
內,我可以使用:
ostream& operator<<(ostream& os, const Student& s){
os << s.getNo(); // use os instead of cout
return os;
}
istream& operator>>(istream& is, Student& s)
{
is >> s.no; // use is instead of cin
return is;
}
在<<
,我使用OS對象,而不是cout和爲操作者>>
的相似性。所以,我很想知道這是否有什麼不同?
標準輸入/輸出流是什麼意思?他們是那些「在計算機程序及其環境(通常是文本終端)開始執行時預連接輸入和輸出通道」(http://en.wikipedia.org/wiki/Standard_streams)? – ipkiss
關於權利的聲音,yeap。 –
現在很清楚。非常感謝。 – ipkiss