Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να χρησιμοποιήσετε το C + + Εικονική καταστροφείς

Μια εικονική μέθοδος δεν έχει άμεση εφαρμογή και η συμπεριφορά του καθορίζεται από τη μέθοδο με την ίδια υπογραφή που βρίσκεται στο χαμηλότερο επίπεδο κληρονομιά της instantiated αντικειμένου . Μια destructor καλείται αυτόματα όταν το αντικείμενο καταστρέφεται . Μια εικονική καταστροφέα σε C + + χρησιμοποιείται κυρίως για να αποτρέψει τις διαρροές πόρων εκτελώντας μια καθαρή -up του αντικειμένου . Τα παρακάτω βήματα εξηγούν τον τρόπο χρήσης εικονικών καταστροφείς σε C ​​+ + . Οδηγίες
Η 1

Καθορίστε πότε να χρησιμοποιούν μια εικονική καταστροφέα . Μια διάσπασης για μια κατηγορία πρέπει να είναι εικονική , όταν ένα αντικείμενο μιας παραγόμενης κλάσης θα καταστραφεί από την επίκληση της βασικής κλάσης καταστροφέα . Ο καταστροφέας πρέπει να είναι εικονική , όταν διαγράφετε ένα δείκτη σε ένα αντικείμενο και είναι δυνατό να οδηγεί σε μια παραγόμενη κλάση . 2

Μάθετε μια σημαντική διαφορά ανάμεσα σε ένα καταστροφέα και άλλων μεθόδων μέλος . Σε αμφότερες τις περιπτώσεις , η μέθοδος της παράγωγης κλάσης γίνεται επίκληση εάν εφαρμοστεί . Ωστόσο , η βασική κλάση destructor στη συνέχεια καλείται , ενώ αυτό δεν συμβαίνει με άλλες μεθόδους
εικόνων 3

Εξετάστε το ακόλουθο παράδειγμα μιας εικονικής destructor : .

# Include τάξη Base_class {δημόσια : Base_class ( ) { cout //εικονική λέξη-κλειδί είναι απαραίτητη herevirtual ~ Base_class ( ) { cout } ? τάξη Derived_class : δημόσια Base_class {δημόσια : Derived_class ( ) { cout ~ Derived_class ( ) { cout } ? void main ( ) { Base_class * p = νέα Derived_class ( ) ? delete p ? }
Η 4

Παρατηρήστε τη χρήση της εικονικής λέξη-κλειδί στο παράδειγμα στο Βήμα 3 . Αν ο destructor της κλάσης βάσης δεν είχαν δηλωθεί ως εικονικές , ο destructor της παραγόμενης κλάσης δεν θα καλεστεί .
5

Εφαρμογή τουλάχιστον ένα άδειο σώμα για μια εικονική καταστροφέα διότι μια καθαρά εικονική λειτουργία δεν μπορεί να να δηλώνονται .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα