putback()
(1/3)putback()
realisieren.
>>
für einen benutzerdefinierten Typ -- hier wieder unser
Beispiel eines Bruchs -- definiert:
// ... [Fortsetzung: siehe nächste Seite !]
istream& operator>>(istream& str, bruch& b)
/*
Folgende Eingabeformate für einen
Bruch sollen unterstützt werden (d stehe hierbei für double):
d
- nur Zähler angegeben
(d)
- nur Zähler angegeben, nun aber in Klammern gesetzt
(d, d)
- ausführliche/vollständige Schreibweise mit zaehler, nenner
(in Klammern gesetzt)
Ein Bruch bestehe aus Zähler
und Nenner, zudem stehe für die bruch-Klasse ein Konstruktor
bruch(zaehler,nenner) bereit.
*/
{
double zaehler = 0, nenner = 1;
// Defaultwerte des Bruchs
char c = 0;
// Setzen des Character, damit dieser nicht
// zufällig mit '(' besetzt ist.