Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/05/2014, 23:02
Avatar de GumiCat
GumiCat
 
Fecha de Ingreso: mayo-2014
Ubicación: Argentina
Mensajes: 16
Antigüedad: 10 años
Puntos: 0
Mi cadena se pierde

hola amigos, tengo un problema, y es que cuando pruebo este programa, la salida del destructor de mi objeto "cadenita" al mostrar el dato miembro cad, me muestra un montón de simbolos raros en vez de mostrar la última cadena que se le asignó, que debería ser "adios".

Alguien sabe porqué pasa esto? dejo mi programa

Código C++:
Ver original
  1. #include <iostream>
  2. #include <new>
  3. #include <cstring>
  4.  
  5. using std::cout;
  6.  
  7. class cadena
  8. {
  9.     public:
  10.         cadena();
  11.         cadena(const char *);
  12.         ~cadena();     
  13.     private:
  14.         char * cad;
  15. };
  16.  
  17. cadena::cadena(){
  18. }
  19.  
  20. cadena::cadena(const char *LCad)
  21. {  
  22.     cad = new char[strlen(LCad) + 1];
  23.     strcpy(cad, LCad);
  24.     cout << "Constructor de " << cad << "\n";
  25. }
  26.  
  27. cadena::~cadena()
  28. {
  29.     cout << "Destructor de " << cad << "\n";
  30.     delete [] cad;
  31. }
  32.  
  33.  
  34. int main()
  35. {
  36.     cadena cadenita("Hola");
  37.     cadenita = "Adios";
  38.    
  39.     return 0;
  40. }