[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