Complex logic in ostream operator : overload ostream istream operator « Operator Overloading « C++ Tutorial






#include <iostream>
using namespace std;

class Line {
  int x;
public:
  Line(int i) { x=i; }
  friend ostream &operator<<(ostream &stream, Line o);
};

ostream &operator<<(ostream &stream, Line o)
{
  register int i, j;

  for(i=0; i<o.x; i++)
     stream << "*";
  stream << "\n";

  return stream;
}

int main()
{
  Line a(14), b(30), c(40);

  cout << a << b << c;

  return 0;
}
**************
******************************
****************************************








10.15.overload ostream istream operator
10.15.1.Class level ostream operator and istream operator
10.15.2.istream operator with data check
10.15.3.Class ostream operator
10.15.4.ostream and istream operator for a class
10.15.5.Complex logic in ostream operator
10.15.6.friend ostream operator for private fields
10.15.7.Overload ostream and istream operator
10.15.8.Ignore: manipulator that ignores N lines
10.15.9.Overloading >>: To demonstrate a custom inserter, one will be created for objects of type phonebook, shown here.
10.15.10.Overload << (inserter)