6.3 Klassentemplates
  • C++ erlaube die Definition von Klassentemplates.
  • Die Syntax entspricht der Template-Syntax:

            template <typename X> class TKlasse {
                 ...
            }
  • Bei der Erzeugung eines Objekts der Klasse muss der/die Datentyp(en) in spitzen Klammern angeben werden:


            TKlasse<int> IntKlasse;
            TKlasse<double> DoubleKlasse;
  • Ein Klassentemplate kann auch einen default-Templateparameter haben:

            template <typename X=int> class TKlasse {
                 ...
            }

    dann ist auch

       TKlasse<> OKlasse;

    erlaubt.
  • Memberfunktionen sind automatisch Funktionstemplates.
  • Klassentemplates dürfen auch Parameter haben, die keine Datentypen sind:

            template <int anzahl=10, typename X=int> class TKlasse {
                 ...
            }