Member von Klassenvorlagen

Member von Klassenvorlagen sind ebenso wie Member einer Klasse.Sie können statisch oder nicht statisch, Funktionen oder Daten Member oder sogar andere Vorlagen sein.Sie können entweder innerhalb der Vorlagenklasse oder außerhalb davon definiert sind.Die Member einer Vorlagenklasse können die unbekannte Typen verweisen, die in der Vorlagenargumentliste angegeben werden, als ob sie gültige Typnamen waren, und sie können die unbekannten Objektwerte verweisen, die in der Vorlagenargumentliste angegeben werden, als ob sie konstante Ausdrücke handeln.

Wenn Member eines auf Vorlagen basierende Klassen außerhalb der Klassendeklaration definiert sind, müssen sie als nicht auf Vorlagen basierende Klassen unterschiedlich deklariert werden.Die Deklaration muss von der Syntax vorangestellt werden, die die Vorlagenklasse angibt, dass die Funktion als Member enthält.

template < template-argument-list > definition

Hinweise

Der Deklarator für eine Memberfunktion außerhalb der Vorlagenklasse muss auch die Vorlagenargumente angeben.

template-name < template-argument-list > :: identifier

Beispiel

// members_of_class_templates1.cpp
// compile with: /c
template <class T, int i> 
class TempClass {
   int MemberSet(T, int);
};

template <class T, int i> 
int TempClass< T, i >::MemberSet( T a, int b ) {
   if( ( b >= 0 ) && (b < i) ) {
      Tarray[b++] = a;
      return sizeof( a );
   }
   else
      return -1;
}

C++ lässt auch die geschachtelte Vorlagen werden als Membervorlagen.Membervorlagen können Vorlagen der geschachtelten Klasse oder Vorlagen Memberfunktionsein.

Siehe auch

Referenz

Klassenvorlagen