[C con Clase] duda destructores

omar mendoza omar.p9 en gmail.com
Mie Ene 9 23:19:07 CET 2013


Hola a todos, aquí molestando otra vez...
Pues resulta que en un ejemplo que hice, tengo un par de clases

una claseA y una claseB donde donde claseB es clase hija de clase A,
entonces

#include <iostream>

using namespace std;

class claseA{

  protected:
    int num;
  public:
    claseA (int numero){

      cout<<"Constructor de A"<<endl;

      num = numero;

      }

    ~claseA (){

      cout<< "Destructor de A"<<endl;

      }
};


y


#include <iostream>
#include "claseA.cpp"

using namespace std;

class claseB : public claseA{

  private:
    int num2;
  public:
    claseB (int numero1, int numero2) : claseA(numero1){

      cout<<"Constructor de B"<<endl;

      num2 = numero2;

      }

    ~claseB (){

      cout<<"Destructor de B"<<endl;
      }
};


y después en main,cpp tengo que

#include "claseB.cpp"

int main(int argc, const char *argv[]) {

    claseA *ca = new claseB(1,2);
    if (ca != NULL) {
      delete ca;
      ca = NULL;
    }
  return 0;
}


pero resulta que no se ejecuta el destructor de la claseB. En este ejemplo
no creo memoria dinámica con new en claseB, pero si lo hiciera
se perdería y no podría liberarla...
Cómo podría resolver éste problema??

Gracias, saludos!!!

-- 
Omar Jonathan Mendoza Bernal
"Las cicatrices nos recuerdan que el pasado fue real" Dr. Lecter en Dragón
Rojo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130109/5c0eda6b/attachment.html>


Más información sobre la lista de distribución Cconclase