Templates-abhängige ausgabe
-
Hallo,
ich habe z.B ein template array: T* my_array;
das liegt in einer template Klasse.wie geht man denn vor wenn man z.B für einen typ double eine ausgabe für das array haben will und für einen typ z.B eine struktur eine andere.
Muss ich dazu wirklich eine ausgabefunktion doppelt schreiben?Es geht mir nicht direkt um die ausgabefunktion aber prinzipiell muss ich doch dann code 2mal schreiben oder?
UNd wenn ja - wohin schreibt man denn so templatespezifische funktionen - in die .cpp datei der template klasse ?
-
wenn die template klasse eine methode für die ausgabe implementiert hat, dann wird je nach typ automatisch die ausgabe generiert.
z.B. könnte man sich speziell bei der Ausgabe vorstellen, dass alle typen verwendet werden können der shift-operator überladen ist, so dass die template klasse einfach durch das array läuft und dann sowas wie os<<array[i]<<","; macht.
jedenfalls sind templates gerade dafür da, dass man eben nicht alles per hand für verschiedene typen schreiben muss