ammettiamo di avere una classe base classe_base con un distruttore virtuale

amettiamo poi di avere una classe derivata pubblicamente da classe base che si chiama classe_derivata; anche questa classe derivata ha un distruttore virtuale...


scrivendo

codice:
classe_base p_cb*;
classe_derivata p_cd = new classe derivata();

p_cb = p_cd;
delete p_cb;
in questo caso, la chiamata `delete p_cb` invoca un distruttore virtuale, e quindi prima il distruttore di classe_derivata, e poi implicitamente il distruttore di classe_base

se i due distruttori non fossero stati virtuali, la chiamata `delete p_cb` avrebbe invocato solo il distruttore della classe base

ho capito bene??
quindi se in una classe ho dei membri dinamici (99% dei casi) è sempre buona norma definire tutti i distruttori delle varie sottoclassi come virtuali...