從基本C++的類實例: 4.10提供了iostream運營商「基本C++」:提供了iostream運營商
通常情況下,我們希望一類的讀取和寫入對象的類實例。例如, 顯示我們特里安類對象,我們希望能夠寫
cout << train << endl;
爲了支持這一點,我們必須提供輸出 操作的重載實例:
ostream& operator<< (ostream &os, const Triangular &rhs)
{
os << "(" << rhs.beg_pos() << "," << rhs.length() << ")";
rhs.display(rhs.length(), rhs.beg_pos(), os);
return os;
}
我們返回傳遞給函數的相同ostream對象。這個 允許連接多個outptu操作符。這兩個對象都是通過引用傳遞的 。 因爲每個輸出操作都會修改ostream對象的內部狀態,所以未將ostream操作數聲明爲const 。
我有點困惑爲什麼ostream操作數不能被聲明爲const。 如果輸出操作被聲明爲以下幾點:
const ostream& operator<< (const ostream &os, const Triangular &rhs)
有上述聲明的任何問題嗎?
感謝