Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come utilizzare C + + distruttori virtuale

Un metodo virtuale non ha l'attuazione diretta e il suo comportamento è determinato dal metodo con la stessa firma che si trova sul livello più basso eredità dell'oggetto istanziato . Un distruttore viene chiamato automaticamente quando l'oggetto viene distrutto . Un distruttore virtuale in C + + viene utilizzato principalmente per evitare perdite di risorse eseguendo un clean-up dell'oggetto. I passaggi seguenti illustrano come utilizzare i distruttori virtuali in C + + . Istruzioni
1

Determinare quando usare un distruttore virtuale. Un distruttore di una classe dovrebbe essere virtuale quando un oggetto di una classe derivata sarà distrutto invocando il distruttore della classe base. Il distruttore deve essere virtuale, quando si elimina un puntatore ad un oggetto ed è possibile che faccia riferimento a una classe derivata .
2

Scopri una differenza importante tra un distruttore e altri metodi membri . In entrambi i casi , il metodo della classe derivata viene richiamato se è attuata. Tuttavia, il distruttore della classe base viene successivamente chiamato mentre questo non accade con altri metodi
3

Si consideri il seguente esempio di un distruttore virtuale : .

# Include Base_class classe {public : Base_class ( ) { cout //parola chiave virtual serve herevirtual ~ Base_class ( ) { cout }; Derived_class classe: Base_class {public : Derived_class ( ) { cout ~ Derived_class ( ) { cout } ; void main ( ) { Base_class * p = new Derived_class (); delete p; }
4

osservare l'uso della parola chiave virtuale nell'esempio al punto 3. Se il distruttore della classe base non sono stati dichiarati come virtuale , il distruttore della classe derivata non si sarebbe chiamato .
5

implementare almeno un corpo vuoto per un distruttore virtuale da una funzione virtuale pura non può essere dichiarato .

 

Programmazione © www.354353.com