Bitte schreiben Sie SingCall.h und SingCall.cc so um, daß die
Programmausgabe auf beliebigen ostream-Objekten möglich wird!
Definieren Sie dazu bitte nur einen (genau einen)
ostream& operator<<(ostream& ros, S& rs), typgenau für Objekte der
virtuellen Basisklasse S. Dieser Operator soll durch polymorphen Aufruf
anderer Methoden eine korrekte Ausgabe für Objekte beliebig abgeleiteter
Klassen erzeugen. Speichern Sie bitte die Definition der neuen Klasse im
File PROTECT/SiOpCall.h! Beachten Sie bitte folgende Verwendung:
// File: SiOpCall.cc #include <PROTECT/SiOpCall.h> int main() { S& rS = *new C(1, 'A', 3.3); cout << rS << endl; delete &rS; return 0; }Das Programm sollte z.B. folgenden Output erzeugen:
333 1 A 3.3