DIGITAL
Für ein besonderes Bauteil werden mehrere Holzprofile zu einem Verbundquerschnitt verleimt (insbesondere überlappen sich die Querschnitte nicht). Wir wollen
Die Aufgabe ist, eine objektorientierte Klassehierarchie zu definieren, die das obige Setting representieren würde:
cross_section
, die eine abstrakte Methode area
zur Ermittlung der Querschnittsfläche enthält. Denken Sie auch daran, der Klasse einen virtuellen Destruktor (mit leerer Implementierung) hinzuzufügen, damit der Destruktor bei abgeleiteten Klassen korrekt aufgelöst wird.rectangle
als Subklasse von cross_section
. Schreiben Sie einen Konstruktor, mit dem der Nutzer der Klasse Breite und Höhe vorgeben kann.semicircle
.composite
(auch als Subklasse von cross_section
), die einen Verbundquerschnitt erzeugt, der aus Subklassen von cross_section
zusammengesetzt ist. composite
soll einen std::vector<cross_section*>
speichern mit Pointern auf die individuellen Teilquerschnitte. Überlegen Sie sich, wie sich der Querschnitt eines Verbunds berechnet, und implementieren Sie area
dementsprechend.main()
-Methode den abgebildeten Verbundquerschnitt mit \(r=10, b1=12, b2=18, t1=7, t2=3\) erzeugt und dessen Fläche berechnet. Achten Sie auf korrekte Speicherverwaltung.