Klassen voor Polygonen
Gegeven het onderstaande UML klassendiagram van de klassen Point, Polygon
en ColorPolygon. Een Polygon-object heeft een aantal punten. Deze compositie
wordt geïmplementeerd met een dynamisch gecreëerd array van Point-objecten. De coördinaten van de punten van het
polygon worden als een array van paren van x-
en y-coördinaten aan de constructor van Polygon aangeboden. Het attribuut nrOfPnts bevat het aantal punten van het Polygon-object. De methode move(int dx, int dy) verschuift een polygon dx in horizontale richting en dy in verticale richting. Bij de x- en y-coördinaten
van alle punten wordt dus dx resp. dy opgeteld. De methode setColor
(const char * cl) kan de kleur van een ColorPolygon
veranderen.
Bovendien hebben beide klassen een copy-constructor, een assignment operator en friend functie die een tekstuele representatie
van het object naar een ostream schrijft.
De implementatie van de klassen Point en Polygon, inclusief een testprogrammaatje vind je in het bestand Polygon.zip. De opdracht is om de implementatie van de klasse ColorPolygon te maken met een programma om de klasse te testen. Uit de test moet blijken dat de copy-constructor en assignment operator van de klasse ColorPolygon diepe kopieën opleveren. Lever alleen de zelf gemaakte code in!