Oberste Klasse in der Hierachie?
-
Hallo,
aus Java oder Delphi kenn ich die Situation, dass Object bzw. TObject die obersten Klassen darstellen, von denen alle ableiten.
Wie ist das in C++, welchen Klassentyp kann ich da nehmen, wenn ich den allgemeinsten benutzen möchte?In Java hätte ich z.B. für das Observer-Model solch eine Methode
void NotifyObservers(Object sender) {...}
Wie mache ich das in C++? Vielleicht mittels void?
void NotifyObservers(void *sender) {...}
Danke!
-
In C++ gibt es keine "Oberklasse", die musst du dir schon selber machen
class CAlles { public: virtual void tue_was_ganz_tolles() = 0; }; //...... void Notify(CAlles *sender);
-
In C++ ist es üblicher, dafür Templates zu verwenden. Die compilieren dann einfach nicht, wenn der Typ die geforderte Schnittstelle nicht erfüllt.
template< typename T > void NotifyObservers( T& receiver ) { receiver.TuWasGanzTolles(); }