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

[SOLUCIONADO] Destructores virtuales

Estas en el tema de Destructores virtuales en el foro de C/C++ en Foros del Web. Estoy intentando entender los destructores virtuales y tengo el siguiente codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código c++: Ver original #include "stdafx.h" #include <iostream> #include <cstdio> #include <cstring> ...
  #1 (permalink)  
Antiguo 25/09/2013, 10:50
 
Fecha de Ingreso: septiembre-2013
Mensajes: 7
Antigüedad: 10 años, 7 meses
Puntos: 0
Destructores virtuales

Estoy intentando entender los destructores virtuales y tengo el siguiente codigo:

Código c++:
Ver original
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <cstdio>
  4. #include <cstring>
  5.  
  6. class BASE
  7. {
  8.  public:
  9.  
  10.         char *cadena;
  11.  
  12.         virtual ~BASE()
  13.         {
  14.             delete[] cadena;
  15.         }
  16.  
  17.         virtual void Hablar()
  18.         {
  19.             std::cout << cadena << std::endl;
  20.         }
  21. };
  22.  
  23. class DERIVADA : public BASE
  24. {
  25.  public:
  26.  
  27.         char *cadena;
  28.  
  29.         ~DERIVADA()
  30.         {
  31.             delete[] cadena;
  32.         }
  33.  
  34.         virtual void Hablar()
  35.         {
  36.             std::cout << cadena << std::endl;
  37.         }
  38. };
  39.  
  40. int main(int argc, _TCHAR* argv[])
  41. {
  42.   BASE *base = new DERIVADA;
  43.  
  44.   delete base;
  45.  
  46.  return 0;
  47. }


Me da un error en tiempo de ejecucion ¿porque? ¿que estoy haciendo mal?

Etiquetas: int, string, struct, virtuales
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 12:12.