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
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_basecodice:classe_base p_cb*; classe_derivata p_cd = new classe derivata(); p_cb = p_cd; delete p_cb;
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...