Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++
- Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001
#ifndef GEOGRUPPE_HPP
#define GEOGRUPPE_HPP
// Headerdatei der Basisklasse einbinden
#include "geoobj.hpp"
// Headerdatei für die interne Verwaltung der Elemente
#include <vector>
namespace Geo {
/* Klasse GeoGruppe
* - abgeleitet von GeoObj
* - eine GeoGruppe besteht aus:
* - einem Referenzpunkt (geerbt)
* - einer Menge von geometrischen Elementen (neu)
*/
class GeoGruppe : public GeoObj {
protected:
std::vector<GeoObj*> elems; // Menge von Zeigern auf GeoObjs
public:
// Konstruktor mit optionalem Referenzpunkt
GeoGruppe (const Koord& p = Koord(0,0)) : GeoObj(p) {
}
// Ausgabe (jetzt auch implementiert)
virtual void draw () const;
// Element einfügen
virtual void add (GeoObj&);
// Element entfernen
virtual bool remove (GeoObj&);
// virtueller Destruktor
virtual ~GeoGruppe () {
}
};
} // namespace Geo
#endif // GEOGRUPPE_HPP