定义一个非成员函数,读取一个istream并将读入的内容储存到Sales_item中
这样写错在那
class Sales_item{
public:
Sales_item(const std::string &book=""):
isbn(book),units_sold(0),revenue(0.0){}
// Sales_item(std::istream &cin){
// cin>>isbn>>units_sold>>revenue;
// }
bool same_isbn( Sales_item book) const{
return isbn==book.isbn;
};
friend istream& read (std::istream &is,Sales_item& obj);
private:
const std::string &isbn;
unsigned int units_sold;
double revenue;
};
istream& read (std::istream &is,Sales_item& obj){
double price;
is>>obj.isbn>>obj.units_sold>>price;
if(is)
obj.revenue=obj.units_sold*price;
return is;
}
错误 1 error C2679: 二进制“>>”: 没有找到接受“const std::string”类型的右操作数的运算符(或没有可接受的转换) c:\documents and settings\administrator\my documents\visual studio 2008\projects\test2\test2\test2.cpp 35 test2