Matthias Reitinger
ɐɯıǝɹ
Hallo,
noch zwei Anmerkungen.
Das ergibt aber nur Sinn, wenn die Liste der möglichen Template-Typen im Voraus bekannt und in ihrer Anzahl begrenzt ist.
Grüße,
Matthias
noch zwei Anmerkungen.
- Wenn man trotzdem wie gewohnt Deklaration und Definition der Template-Klasse voneinander trennen will, kann man folgendes Idiom benutzen:
C++:
// liste.h
// Deklaration
template<class T>
class liste {
// ...
};
#include "liste_impl.h" // Definitionen einbinden
C++:
// liste_impl.h
// Definitionen
template<class T>
liste<T>::liste() {
// ...
}
// :::
- Man kann außerdem auch ohne diesen Trick Header und Implementierung trennen, indem man die Template-Klasse in der Implementierung explizit instantiiert:
C++:
template class liste<int>;
template class liste<float>;
// :::
Grüße,
Matthias