cout 是ostream 类型的对象
cin 是istream类型的对象
如果<</>>运算符实现为成员函数,那么调用者应该是ostream/istream,而我们无权增加标准库的代码,因此
输入输出运算符只能定义为全局函数
cout << 类对象<<endl;
ostream& operator<<(ostream& os,const Point& p)
{
return os<<p.x<<","<<p.y;
}
注意:再输入输出过程中,cin/cout会记录错误标志,因此不能加const属性
istream& operator>>(istream& is,const Point& p)
{
return is>>p.x>>p.y;
}
在重载操作符时要根据操作符实际的功能和意义来确定具体参数,返回值,是否具有const属性,
是否时引用还是临时对象
重载运算符时要符合清理(要有意义),要以实际用途为前提
重载操作符的意义是为了让对象的操作更简单,方便,而不是为了炫技。
本文深入解析C++中输入输出流的概念,包括cout与cin的使用,以及如何通过重载运算符<<和>>实现自定义类的输入输出。文章强调了在重载过程中的注意事项,如参数类型、返回值和const属性的正确应用。
179

被折叠的 条评论
为什么被折叠?



