加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 流操作符重载

发布时间:2020-12-16 03:29:05 所属栏目:百科 来源:网络整理
导读:为什么要将流操作符(,)的重载保存为朋友而不是让它们成为类的成员? 解决方法 当您将二元运算符作为类的成员函数重载时,当第一个操作数属于类类型时,将使用重载. 对于流操作符,第一个操作数是流而不是(通常)自定义类. 因此,为传统方式使用的自定义类的重载流
为什么要将流操作符(<<,>>)的重载保存为朋友而不是让它们成为类的成员?

解决方法

当您将二元运算符作为类的成员函数重载时,当第一个操作数属于类类型时,将使用重载.

对于流操作符,第一个操作数是流而不是(通常)自定义类.

因此,为传统方式使用的自定义类的重载流操作符不能是自定义类的成员函数,它们必须是自由函数.

(我假设的流类是不公开的改变,如果他们可以添加成员函数来流类,以应付额外的自定义类型,但是这通常是从一个依赖点不可取的.)

他们是否是朋友应该取决于他们是否需要访问班级的非公开成员.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读