Implementation des COMPOSITE-Patterns und RTTI
- Implementieren Sie daher bitte das
Composite-Pattern auf der Basis der im Teil ,,A`` entstandenen
GeoObj-Hierarchie und verwenden Sie dazu den RTTI-Mechanismus von C++!
- Weisen Sie bitte nach, daß im neuen Beispiel die Methode
float flaeche() z.B. der ZGeoObj-Objekte wie im Teil ,,A`` korrekt
funktioniert.
- Weisen Sie bitte nach, daß auch das selektive Entfernen von Objekten
aus ZGeoObjs funktioniert!
- Starten Sie bitte dynamische Typabfragen auf in ZGeoObjs enthaltene
GeoObjs!
- Starten Sie bitte Initialisierungen durch und Zuweisungen an
ZGeoObjs!
- Weisen Sie nach, daß dynamische Downcasts wirklich abgelehnt werden, wenn
der Zieltyp nicht dem konkret referenzierten Objekt entspricht!
- Weisen Sie die Gefahr unendlicher Rekursionen im Zusammenhang mit der
float flaeche()-Methode nach!
- Welche Möglichkeiten gibt es zum Ersatz der Nutzung des RTTI-Mechanismus?
Hinweis:
Nehmen Sie als Vorlage die Files:
DreieckV.h KreisV.h RchteckV.h ZGeoObjV.h
GeoObjV.h RchtckRV.h PunktV.h
und
DreieckV.cc KreisV.cc RchteckV.cc ZGeoObjV.cc
GeoObjV.cc RchtckRV.cc PunktV.cc
Speichern Sie Ihre eigenen Files bitte unter PROTECT ab!
Verwenden Sie für dieses Beispiel anstelle des Suffixes V
in den Filenamen bitte ein R (also RchteckR.h ...)!