前端之家收集整理的这篇文章主要介绍了
c – 流操作符重载,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么要将流操作符(<<,>>)的重载保存为朋友而不是让它们成为类的成员?
当您将二元运算符作为类的成员
函数重载时,当第一个操作数属于类类型时,将使用重载.
对于流操作符,第一个操作数是流而不是(通常)自定义类.
因此,为传统方式使用的自定义类的重载流操作符不能是自定义类的成员函数,它们必须是自由函数.
(我假设的流类是不公开的改变,如果他们可以添加成员函数来流类,以应付额外的自定义类型,但是这通常是从一个依赖点不可取的.)
他们是否是朋友应该取决于他们是否需要访问班级的非公开成员.