Templates mit Typenbeschränkung
-
Hallo *,
die FAQ und die Suche gibt nichts her, also probier ichs mal:
Ich möchte ein template für eine Methode schreiben:
template <typename T> void a(T* t){ //irgendwas wofür der Typ T wichtig ist }Wie macht man es am geschicksten, nur Typen der Klasse A und deren abgeleitete Klassen zuzulassen? Vermutlich geht das so in nicht, aber Überladen innerhalb der Klasse A geht leider nicht.
Gibt es so etwas, oder einen geeigneten alternative Mechanismus, außer, die Methoden für alle Methoden per Hand zu schreiben?
-
Wenn du nur eine Klasse und ihre Kinder zulassen willst, benötigst du kein Template:
void a(A* t) { ... }(das nimmt Objekte vom Typ A und alle davon abgeleiteten Klassen an)
-
Ja stimmt eigentlich. Man denkt halt immer zu kompliziert

Danke trotzdem