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 GEOOBJ_HPP
#define GEOOBJ_HPP
// Headerdatei für Koord
#include "koord.hpp"
namespace Geo {
/* abstrakte Basisklasse GeoObj
* - gemeinsame Basisklasse für geometrische Objekte
* - zur Vererbung vorgesehen
*/
class GeoObj {
protected:
// Jedes GeoObj hat einen Referenzpunkt
Koord refpunkt;
/* Konstruktor für Startwert vom Referenzpunkt
* - nichtöffentlich
* - damit ist kein Default-Konstruktor vorhanden
*/
GeoObj (const Koord& p) : refpunkt(p) {
}
public:
// GeoObj um relativen Offset verschieben
virtual void move (const Koord& offset) {
refpunkt += offset;
}
/* GeoObj ausgeben
* - rein virtuelle Funktion
*/
virtual void draw () const = 0;
// virtueller Destruktor
virtual ~GeoObj () {
}
};
} // namespace Geo
#endif // GEOOBJ_HPP