elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  pregunta sobre dynamic_cast
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: pregunta sobre dynamic_cast  (Leído 2,257 veces)
Gabilan81

Desconectado Desconectado

Mensajes: 2


Ver Perfil
pregunta sobre dynamic_cast
« 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


En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: pregunta sobre dynamic_cast
« Respuesta #1 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
  1. 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


En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines