Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Como puedo restringir el tipo de datos en un template?

Estas en el tema de Como puedo restringir el tipo de datos en un template? en el foro de C/C++ en Foros del Web. Tengo una clase abstracta definida de esta manera: Código: template <class T> class Mi_Clase { public: Mi_Clase(void); ~Mi_Clase(); void IncrementarVariable(void) { x++; }; private: T ...
  #1 (permalink)  
Antiguo 14/09/2007, 20:36
 
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 90
Antigüedad: 19 años, 6 meses
Puntos: 2
Como puedo restringir el tipo de datos en un template?

Tengo una clase abstracta definida de esta manera:

Código:
template <class T> 
class Mi_Clase
{
    public:
        Mi_Clase(void);
       ~Mi_Clase();


      void IncrementarVariable(void) { x++; };

  private:
      T x;

}
¿Como le informo a C++ que x es una variable de algún tipo entero por ejemplo?
Necesito hacer eso, porque si no el compilador me da error, debido a que, como T es un tipo genérico o comodín, la expresión x++ no tiene sentido. Tendría sentido si el compilador supiera que es un entero, o algún tipo de datos que tenga definido el operador de incremento.

¿Como especifico que T es algun tipo entero, impidiendo que se invoque al template con algún tipo T no entero, y que el compilador funciones sin quejarse de mi instrucción x++?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:06.