In diesem Code wird eine Klasse angelegt, welche durch das Template zwei Schablonenparameter (tDatatype und tDatatype2) übergeben werden.
Jede Stelle im Code für die wir nun tDatatype oder tDatatype2 einsetzen, setzen wir in Wirklichkeit den zuvor definierten Datentypen ein.
// TemplateTest.h #ifndef TEMPLATE_TEST_H #define TEMPLATE_TEST_H template <class tDatatype, class tDatatype2> class TemplateTest { public: TemplateTest ( ); // Konstruktor ~TemplateTest ( ); // Destruktor void set( tDatatype x ) {value = x;} tDatatype get() {return value;} private: tDatatype value; }; #endif
int main ( ) { typedef string schablone1; typedef int schablone2; TemplateTest* aTemplateTest = new TemplateTest<schablone1, schablone2>(); return 0; }
// TemplateTest.cpp template <class tDatatype, class tDatatype2> tDatatype TemplateTest<tDatatype, tDatatype2>::get() { return value; }