Membri di template di classe

I membri del modello di classe sono simili ai membri di qualsiasi classe.Possono essere membri statici o non statici, o di dati funzione, né altri modelli.Possono essere definiti nella classe modello o all'esterno di.I membri di una classe modello possono fare riferimento ai tipi sconosciuti specificati nell'elenco di argomenti di modello come se fossero nomi di tipo validi e possono fare riferimento ai valori sconosciuti oggetti definiti nell'elenco di argomenti di modello come se fossero espressioni costanti.

Quando i membri delle classi basate su modelli sono esterno definito della dichiarazione di classe, devono essere dichiarati in modo diverso rispetto a quelli delle classi nontemplated.La dichiarazione deve essere preceduta da una sintassi che specifica la classe modello che la funzione è un membro di.

template < template-argument-list > definition

Note

Il dichiaratore per una funzione membro all'esterno della classe modello inoltre necessario specificare gli argomenti di modello.

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

Esempio

// 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++ consente inoltre ai modelli annidati, detti modelli del membro.I template membri possono essere modelli annidati della classe o modelli di funzione membro.

Vedere anche

Riferimenti

Modelli di classe