istream& operator >>(istream &input, sales_data &s){
input >> s.bookno >> s.units_sold >> s.price;
if(input){
s.revenue = s.units_sold * s.price;
}
return input;
}
ostream& operator << (ostream &output,sales_data &s){
output << s.bookno <<" "<< s.units_sold << " "<<s.revenue<<" "<<s.avg_price()<<endl;
return output;
}
单独使用cin和cout都没有问题,就是流迭代器使用的时候有问题
istream_iterator<sales_data> item_iter(cin),eof;
ostream_iterator<sales_data> out_iter(cout," ");
sales_data sum = *item_iter++;
while(item_iter!=eof){
if(sum.isbn()==item_iter->isbn()){
sum += *item_iter++;
}
else{
out_iter = sum;//出问题地方
sum += *item_iter++;
}
}
out_iter = sum;//出问题地方