C++ 重载输入输出操作符

来源:互联网 发布:python idle 清屏 编辑:程序博客网 时间:2024/06/10 04:12

1、输出操作符 << 重载

非成员函数 → 友元函数

ostream& operator<<(ostream& out, const Sales_item& s)

{

  out << s.isbn << "\t" << s.units_sold << "\t" << s.revenue;

  return out;

}

2、输入操作符 >> 重载

处理输入操作的错误

istream& operator>>(istream& in, Sales_item& s)

{

  double price;

  in >> s.isbn >> s.units_sold >> price;

  if(in)

    s.revenue = s.units_sold * price;

  else

    s = Sales_item();

  return in;

}

这两个必须作为Sales_item的友元函数,因为左操作数不是该类类对象,且要访问Sales_item的私有成员。

0 0
原创粉丝点击