Template-Klassen Methodendefinition
-
Hallo,
eine kleine Frage:
ich habe bis jetzt immer meine Klassen in einer Header deklariert, und in der cpp alles definiert.jetzt wollte ich templateklassen schreiben, und nun kann ich die methoden nur noch in der klasse (headerdatei) selber definieren, in einer eigenen cpp datei geht das nicht mehr!
Wieso?
-
-
Weil Templates nur eine Bauanleitung darstellen, wie man eine Klasse oder Funktion erstellen kann - da benötigt der Compiler die Definition (Quelltext) und die verwendeten Typen (Instanziierung), um etwas brauchbares daraus zu machen. Beides an einem Ort hast du nur, wenn du die Definition direkt in die Header schreibst und in deinem Programm direkt einbindest.
-
aha, also auf deutsch :"Alles in Header" ??
-
arghl schrieb:
aha, also auf deutsch :"Alles in Header" ??
Nein: "Alle Templates in Header"
-
naja mien ich ja, alle template-klassen komplett in header!
wenn ich eine normale klasse habe, dann schön aufteilen!