#ifndef INCLUDE_NASTOBJECT_H #define INCLUDE_NASTOBJECT_H //----------------------------------------------------------------------------- // NastObject.h //----------------------------------------------------------------------------- // // Copyright (C) 1998 Technische Universitaet Muenchen, Germany // written by Bernhard Brueck // // This file is part of Nast++ // //----------------------------------------------------------------------------- // NastObject ist die gemeinsame Basisklasse fuer alle anderen Klassen in // Nast++. Sie besitzt einen virtuellen Destruktor. Damit ist auch bei allen // abgeleiteten Klassen der Destruktor virtuell. // Zum Debuggen gibt es die beiden Hilfsfunktionen debugDump und assertValid. // debugDump sollte in der abgeleiteten Klasse ueberschrieben werden // und den Zustand des Objekts in den dumpContext ausgeben. // assertValid sollte den Zustand des Objects ueberpruefen und bei // einem Fehler das Programm abbrechen. // ( z.B. mit NAST_ASSERT(...) ) //----------------------------------------------------------------------------- // Aenderungen: // #include "NastConfig.h" class CNastDumpContext; class CNastVisualContext; class CNastObject { public: //----------------------------------------------------------------------------- // Konstruktor + Destruktor //----------------------------------------------------------------------------- CNastObject(); // Defaultconstr. virtual ~CNastObject(); // Destruktor // vorerst sind keine speziellen Memberfunktionen noetig. //----------------------------------------------------------------------------- // Debug //----------------------------------------------------------------------------- // debugInfo gibt Information ueber den Zustand des Objekts aus // assertValid testet das Objekt auf Integritaet // virtual void debugDump( CNastDumpContext &dumpContext ) const; virtual void assertValid() const; protected: CNastObject( const CNastObject & o); const CNastObject& operator=( const CNastObject &o ); }; //----------------------------------------------------------------------------- // inline //----------------------------------------------------------------------------- // vorerst nichts zu tun inline CNastObject::CNastObject() {} inline CNastObject::CNastObject( const CNastObject & o) { (void)o; } // disable Warning unused inline const CNastObject& CNastObject::operator=( const CNastObject &o ) { (void)o; return *this;} // disable Warning unused #endif // INCLUDE_NASTOBJECT_H