next up previous
Praktikumsaufgabe 3:
virtuelle Ableitung und virtuelle Methoden


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


next up previous