如同运营商>>匹配运算符<< ?
数据库示例:
如果运营商>>读取以下格式的内容:
2
Joe 500 20 1
Bob 250 30 0
运营商应该<<输出那个?或类似的东西:
Record: 1/2
Name: Joe
Balance: 500
Transactions: 20
Premium Account: Yes
然后有一个单独的writeFile()函数?
我知道要么会奏效,但“接受的标准”是什么?
答案 0 :(得分:7)
如果对于以特定格式读取数据的类型有一个istream operator>>
重载,那么如果对同一类型实现ostream operator<<
重载,它应该以相同的格式输出(否则,它可能会让人感到困惑。)
答案 1 :(得分:3)
这种运营商超载是IMO的一个重大误用和误解。 在真正有意义的地方使用重载。
出于调试目的,请toString()
并覆盖&lt;&lt;打电话给它。
不要覆盖&gt;&gt;一点都不。
>>
和<<
通常用于将序列化数据发送到流,而不是用于与用户进行通信。
我的2欧元。
答案 2 :(得分:0)
两者或彼此独立,根据您的意愿,您可以超载他们。