从基本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)
有上述声明的任何问题吗?
感谢