Eingabe-Operationen: Der Eingabe-Operator >> (2/2)

Beispiel

Für eine Klasse matrix, für die eine Elementfunktion besetze() zum Setzen der Matrixfelder zur Verfügung stehe, wird der Eingabeoperator wie folgt überladen:

  istream& operator >>(istream& strm, Matrix& A)
  {
      A.besetze();    // Aufruf der Elementfunktion besetze()
      return strm;    // Rückgabe des Eingabestreams
  }

Mit dieser Definition kann man dann -- wie von Standard-Datentypen her gewohnt -- schreiben:

  Matrix A;
  cin >> A;

Um zu überprüfen, ob eine Eingabe erfolgreich war, steht die Auswertung des sogenannten Status des Eingabe-Streams cin zur Verfügung (Näheres hierzu vgl. Abschnitt Stream-Zustände in diesem Kapitel).