Compartir a través de


Miembros de las plantillas de clase

Los miembros de las plantillas de clase son solo como miembros de cualquier clase.Pueden ser miembros estáticos o no estáticos, de los datos o la función, u otras plantillas.Pueden ser definido en la clase de plantilla o desde fuera de.Los miembros de una clase de plantilla pueden hacer referencia a los tipos desconocidos especificados en la lista de argumentos de plantilla como si fueran nombres de tipo válidos, y pueden hacer referencia a los valores desconocidos de objetos especificados en la lista de argumentos de plantilla como si fueran expresiones constantes.

Cuando los miembros de clases con plantilla son fuera definido de la declaración de clase, deben declararse de manera diferente que los de clases nontemplated.La declaración debe ir precedida de la sintaxis que especifica la clase de plantilla que la función es un miembro de.

template < template-argument-list > definition

Comentarios

El declarador de una función miembro fuera de la clase de plantilla debe especificar los argumentos de plantilla.

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

Ejemplo

// 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++ también permite las plantillas anidadas, denominadas las plantillas de miembro.Las plantillas de miembro pueden ser plantillas de clase anidada o plantillas de función miembro.

Vea también

Referencia

Plantillas de clase