通常希望对某个类的对象进行读写操作: cout<< train<<endl;
为了支持上述形式, 希望对<<运算符重载:
ostream& operator<<(ostream& os, const Triangular &rhs){
os<<"输出"<<endl;
return os;
}
:::tips
- 都使用引用的方式传递
- os并不声明为const,因为每个output操作都会改变os的内部状态;
- 为何不把<<声明为member function?
- 做为成员函数的话,对象必须在<<的左边才能调用他,即
train<<cout
,容易引起误解; :::
- 做为成员函数的话,对象必须在<<的左边才能调用他,即