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

Plantillas y polimorfismo

Estas en el tema de Plantillas y polimorfismo en el foro de C/C++ en Foros del Web. Teniendo las siguientes definiciones class InstanciaServidor { protected: virtual void OnReceive(char *buffer, int len) = 0; ... }; template<typename T> class ServidorBase { protected: InstanciaServidor ...
  #1 (permalink)  
Antiguo 25/04/2012, 08:35
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 15 años, 6 meses
Puntos: 0
Exclamación Plantillas y polimorfismo

Teniendo las siguientes definiciones

class InstanciaServidor
{
protected:
virtual void OnReceive(char *buffer, int len) = 0;
...
};

template<typename T>
class ServidorBase
{
protected:
InstanciaServidor *instancias[N];
...
virtual DWORD DoWork();
...
}

template <typename T>
DWORD ServidorBase<T>::DoWork()
{
...
instancias[i] = new T;
...
}

Al implementar...

class InstanciaEspecializadaServidor : public InstanciaServidor
{
protected:
void OnReceive(char *buffer, int len);
...
}

class ServidorEspecializado : ServidorBase<InstanciaEspecializadaServidor>
{
...
}

Obtengo el siguiente error:
Error 3 error C2259: ServidorBase' : no se puede crear una instancia de una clase abstract "fichero" "línea"
Donde fichero y línea apuntan a "instancias[i] = new T;", ¿alguna idea?

Etiquetas: c++, plantilla, polimorfismo
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 03:48.