我正在阅读C ++入门书籍并研究类,而对于为什么以下函数需要返回istream或对其的引用感到困惑。由于我们将项目作为参考传递,因此最终无论如何都要阅读并对其进行更改,因此我不完全理解为什么我们不能仅仅将此函数设为void以及为什么它必须是返回类型它在书/代码中。我查了一下,答案是它允许级联,但我不明白,因为无论哪种方式,我们都将读取对象项的输入,对吗?
istream &read(istream &is, Sales_data &item){ double price = 0; is >> item.bookNo >> item.units_sold >> price; item.revenue = price * item.units_sold; return is; }