Originariamente inviato da Dark Bard
Ciao a tutti
quando distruggo un oggetto, oltre ad essere richiamato il distruttore di questo viene anche eseguito il distruttore delle sue classi padre?
grazie, ciao
solo se la classe padre ha definito il distruttore come virtual
così non viene richiamato il distruttore della classe Padre
codice:
class CPadre
{
CPadre();
~CPadre();
}
così invece, viene invocato il distruttore della classe Padre
codice:
class CPadre
{
CPadre();
virtual ~CPadre();
}
se vuoi che Padre sia una classe "astratta" (cioè una classe che non può essere istanziata) basta che definisci almeno un metodo "pure virtual", (non necessariamente il distruttore)
codice:
class CPadre
{
CPadre();
virtual ~CPadre() = 0;
}
per cui anche questa è una classe astratta
codice:
class CPadre
{
CPadre();
virtual ~CPadre();
virtual doTask() = 0;
}