Ποια είναι η διαφορά μεταξύ εικονικής συνάρτησης και παράκαμψης λειτουργίας;
Ποια είναι η διαφορά μεταξύ εικονικής συνάρτησης και παράκαμψης λειτουργίας;

Βίντεο: Ποια είναι η διαφορά μεταξύ εικονικής συνάρτησης και παράκαμψης λειτουργίας;

Βίντεο: Ποια είναι η διαφορά μεταξύ εικονικής συνάρτησης και παράκαμψης λειτουργίας;
Βίντεο: Joscha Bach: Time, Simulation Hypothesis, Existence 2024, Νοέμβριος
Anonim

Εικονικές λειτουργίες δεν μπορεί να είναι στατικό και επίσης δεν μπορεί να είναι φίλος λειτουργία μιας άλλης τάξης. Καθορίζονται πάντα στη βασική κλάση και παρακάμπτεται σε παράγωγη τάξη. Δεν είναι υποχρεωτικό για την παράγωγη κλάση καταπατώ (ή επαναπροσδιορίστε το εικονική λειτουργία ), σε αυτήν την περίπτωση έκδοση βασικής κλάσης του λειτουργία χρησιμοποιείται.

Επιπλέον, ποια είναι η διαφορά μεταξύ της εικονικής λειτουργίας και της καθαρής εικονικής λειτουργίας;

Το κύριο διαφορά μεταξύ ' εικονική λειτουργία» και «καθαρή εικονική λειτουργία ' είναι αυτό ' εικονική λειτουργία έχει τον ορισμό του στο Η βασική κλάση και επίσης οι παραγόμενες κλάσεις κληρονομικότητας την επαναπροσδιορίζουν. ο καθαρή εικονική λειτουργία δεν έχει ορισμό στο βασική κλάση και όλες οι παραγόμενες κλάσεις κληρονομικότητας πρέπει να την επαναπροσδιορίσουν.

Στη συνέχεια, το ερώτημα είναι τι είναι η συνάρτηση που υπερισχύει στη C++; Παράκαμψη συνάρτησης C++ . Αν παράγωγη κλάση ορίζει το ίδιο λειτουργία όπως ορίζεται στη βασική του κατηγορία, είναι γνωστό ως υπερισχύουσα λειτουργία σε C++. Χρησιμοποιείται για την επίτευξη πολυμορφισμού χρόνου εκτέλεσης. Σας δίνει τη δυνατότητα να παρέχετε συγκεκριμένη υλοποίηση του λειτουργία που παρέχεται ήδη από την βασική του κατηγορία.

Ομοίως, οι άνθρωποι ρωτούν, γιατί χρησιμοποιούμε εικονικές συναρτήσεις;

Εικονικές Λειτουργίες είναι μεταχειρισμένος για να υποστηρίξει το "Πολυμορφισμό χρόνου εκτέλεσης". Οταν ο εικονική λειτουργία καλείται χρησιμοποιώντας έναν δείκτη βασικής κλάσης, ο μεταγλωττιστής αποφασίζει στο Runtime ποια έκδοση του λειτουργία δηλ. θα κληθεί η έκδοση βασικής κλάσης ή η παρακαμφθείσα έκδοση Παράγωγης κλάσης. Αυτό ονομάζεται Πολυμορφισμός χρόνου εκτέλεσης.

Μπορείτε να παρακάμψετε μια μη εικονική συνάρτηση στη C++;

Στο c++, όλα τα μέλη της τάξης λειτουργίες είναι μη - εικονικός από προεπιλογή. Αυτοί μπορώ να γίνει εικονικός χρησιμοποιώντας το εικονικός λέξη-κλειδί στο λειτουργία υπογραφή. Οπως δηλώθηκε παραπάνω αν ο λειτουργία της βασικής κατηγορίας γίνεται εικονικός μετά το λειτουργία της Παράγωγης ή Παιδικής τάξης λειτουργία με το ίδιο όνομα μπορεί να παρακάμψει της Βασικής τάξης λειτουργία.

Συνιστάται: