<div dir="ltr">Hola Omar,<div class="gmail_extra"><br><div class="gmail_quote">2013/1/9 omar mendoza <span dir="ltr"><<a href="mailto:omar.p9@gmail.com" target="_blank">omar.p9@gmail.com</a>></span><div style><br></div>
<div style>[CORTE]</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>y después en main,cpp tengo que <br>
</div><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></blockquote><div><br></div><div style>El problema es que no estás usando objetos polimórficos. Tienes herencia, pero no polimorfismo. La solución es declarando el destructor en la clase 'A' como virtual. Esto es,</div>
<div style><br></div><div style><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">class claseA</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">{</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">
protected:</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">  int num;</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">
public:</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">  virtual ~claseA()  { ... }<br></div></div><div>};</div><div><br></div><div style>Sugiero que indiques 'virtual' para las funciones miembro de las clases derivadas; así se entiende mejor que se trata de clases polimórficas.</div>
<div style><br></div><div style><br></div><div style>Espero haber aclarado la duda.</div><div><br></div><div style>Steven</div><div style><br></div></div></div></div>