Skip to content

Latest commit

 

History

History
17 lines (13 loc) · 565 Bytes

File metadata and controls

17 lines (13 loc) · 565 Bytes

练习14.11:下面的Sales_data输入运算符存在错误码?如果有,请指出来。对于这个输入运算符如果仍然给定上个练习的输入将发生什么情况?

istream& operator>>(istream& in, Sales_data& s)
{
	double price;
	in >> s.bookNo >> s.units_sold >> price;
	s.revenue = s.units_sold * price;
	return in;
}

有错误,因为可能出现IO错误,从而导致后续的读取失败。由于没有考虑失败的情况,源数据可能会被修改成错误的状态。

上个练习中的b就会出现这种情况。