| Titel: | C++ Templates | |
| Beschreibung: | Die Arbeit mit C++ Templates. Die Vorteile von Templates, wie man Templates definiert und richtig in ein C++ Programm einfügt | |
| Kategorie: | Programmierung | |
| Unterkategorie | C/C++ | |
| Benötigtes Fachwissen: | Fortgeschrittene Anfänger | |
| Artikel überarbeiten: | C++ Templates | |
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
Alle durch typedef definierten Anweisungen sind danach Synonyme für den entsprechenden Datentypen.
schablone1 ist somit ein Synonym für ein string-Datentyp
schablone2 ist nun ein Synonym für ein int-Datentyp
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; }