Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Gabilan81 en 4 Octubre 2010, 19:23 PM

Título: pregunta sobre dynamic_cast
Publicado por: Gabilan81 en 4 Octubre 2010, 19:23 PM
Buenas, tengo una pregunta que me surgio al intentar liberar la memoria luego de utilizar el operador dynamic_cast.

tengo algo asi:

void funcion(clase_base * base){

clase_derivada * der = dynamic_cast<clase_derivada*)(base);

//trabajo con el puntero "der"

delete(base);

}

mi pregunta es: esta bien hacer delete(base) o tendria q hacer delete(der), o da igual???

Muchas gracias
Título: Re: pregunta sobre dynamic_cast
Publicado por: Littlehorse en 4 Octubre 2010, 23:22 PM
Lo primero y principal es aclarar que lo que quieres hacer con dynamic_cast no te puede funcionar al menos que la clase base sea polimórfica, es decir, me refiero a esta linea:

Código (cpp) [Seleccionar]
clase_derivada * der = dynamic_cast<clase_derivada*)(base);

En cuanto a lo del delete, si podes postea una mínima expresión compilable sobre lo que queres hacer y la estructura que tenes en las clases, porque en realidad con lo que pusiste no puede saberse exactamente que es lo que deberías usar.

Saludos