Frage zu Template
-
Hallo ich lese mich gerade etwas in das Thema Templates ein jetzt habe ich folgendes geschrieben:
#include <iostream> #include <windows> #include "WinsockClass.h" using namespace std; template<class T> class dbg { public: void f ( T a ); int calc ( T a, T b); char RetChar ( T chr ); }; template<class T> void dbg<T> :: f ( T a ) { cout<< a << endl; } template<class T> int dbg<T> :: calc ( T a, T b ) { return a+b; } template<class T> char dbg<T> :: RetChar ( T a ) { return a; } int main(int argc, char* argv[]) { dbg<string> d; d.f( "test" ); dbg<int> tt; cout << tt.calc(1,2 ) << endl; dbg<char> cc; cout<< cc.RetChar('B') << endl; system("PAUSE"); }Jede Funktion hier hat ja jetzt andere Parameter und Rückgabewerte daher lege ich für die Entsprechenden Datentypen die Entsprechenden Objekte an.
Muss man das immer so machen oder geht das auch anders wenn man mit Templates arbeitet?
Ich habe hier ja jetzt void, int und char wäre es er guter oder schlechter Stil wenn ich in main schreibe:
dbg<string> d; dbg<int> tt; dbg<char> cc;Dann könnte ich ja immerhin über jedes Objekt entweder Funktionen mit void, int oder char Rückgabewert aufrufen.
-
Temp_ schrieb:
Jede Funktion hier hat ja jetzt andere Parameter und Rückgabewerte daher lege ich für die Entsprechenden Datentypen die Entsprechenden Objekte an.
Muss man das immer so machen oder geht das auch anders wenn man mit Templates arbeitet?
Was du jetzt hier beispielhaft gemacht hast hat so keinen wirklichen Sinn. Niemand würde soetwas in einem wirklichen Programm schreiben/benutzen. Deshalb kann man auch nicht wirklich über den Stil urteilen.