Hola a todos, aquí molestando otra vez...<div>Pues resulta que en un ejemplo que hice, tengo un par de clases</div><div><br></div><div>una claseA y una claseB donde donde claseB es clase hija de clase A, entonces</div><div>
<br></div><div><div>#include <iostream></div><div><br></div><div>using namespace std;</div><div><br></div><div>class claseA{</div><div><br></div><div> protected:</div><div> int num;</div><div> public:</div><div>
claseA (int numero){</div><div><br></div><div> cout<<"Constructor de A"<<endl;</div><div> </div><div> num = numero;</div><div> </div><div> }</div><div><br></div><div> ~claseA (){</div>
<div> </div><div> cout<< "Destructor de A"<<endl;</div><div><br></div><div> }</div><div>};</div><div><br></div><div><br></div><div>y</div><div><br></div><div><br></div><div><div>#include <iostream></div>
<div>#include "claseA.cpp"</div><div><br></div><div>using namespace std;</div><div><br></div><div>class claseB : public claseA{</div><div><br></div><div> private:</div><div> int num2;</div><div> public:</div>
<div> claseB (int numero1, int numero2) : claseA(numero1){</div><div> </div><div> cout<<"Constructor de B"<<endl;</div><div><br></div><div> num2 = numero2;</div><div><br></div><div>
}</div><div><br></div><div> ~claseB (){</div><div> </div><div> cout<<"Destructor de B"<<endl;</div><div> }</div><div>};</div><div><br></div></div><div><br></div><div>y después en main,cpp tengo que </div>
<div><br></div><div><div>#include "claseB.cpp"</div><div><br></div><div>int main(int argc, const char *argv[]) {</div><div><br></div><div> claseA *ca = new claseB(1,2);</div><div> if (ca != NULL) {</div><div>
delete ca;</div><div> ca = NULL;</div><div> }</div><div> return 0;</div><div>}</div></div><div><br></div><div><br></div><div>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...</div>
<div>Cómo podría resolver éste problema??</div><div><br></div><div>Gracias, saludos!!!</div><div><br></div>-- <br><div>Omar Jonathan Mendoza Bernal</div>"Las cicatrices nos recuerdan que el pasado fue real" Dr. Lecter en Dragón Rojo
</div>