Πώς να προσομοιώσετε τη σούπερ λέξη-κλειδί στη C++

Pos Na Prosomoiosete Te Souper Lexe Kleidi Ste C



Ορισμένες γλώσσες προγραμματισμού που βασίζονται σε αντικείμενα έχουν τη λέξη-κλειδί «super», η οποία επιτρέπει σε μια υποκλάση να καλεί συναρτήσεις και μέλη της βασικής ή γονικής κλάσης. Ορισμένες γλώσσες προγραμματισμού καθορίζουν πώς πρέπει να χρησιμοποιείται συγκεκριμένα η λέξη-κλειδί «super». Αλλά στην περίπτωση της C++, η λέξη-κλειδί super δεν χρησιμοποιείται με τον ίδιο τρόπο όπως στην Java και την Python. Σε αυτό το σεμινάριο, θα μελετήσουμε και θα επιδείξουμε την εξομοίωση υπερλέξεων-κλειδιών στη C++.

Πώς να προσομοιώσετε τη σούπερ λέξη-κλειδί σε C++

Η λέξη-κλειδί που είναι γνωστή ως 'super' δεν είναι προκαθορισμένη στον μεταγλωττιστή C++. Η κληρονομικότητα και η παράκαμψη συνάρτησης χρησιμοποιούνται για την ανάπτυξη μιας υποκλάσης που παίρνει τα μέλη και τις μεθόδους της υπερκλάσης της. Απλώς δώστε το αναγνωριστικό της «υπερκλάσης» και το μέλος ή τη μέθοδο που θέλετε να αποκτήσετε πρόσβαση με τον χειριστή (::).







Σύνταξη

Μπορείτε να αποκτήσετε πρόσβαση σε μια μέθοδο σε μια υπερκλάση που ονομάζεται 'parent_class' που έχει ένα όνομα όπως 'parent_function()' σε μια υποκλάση χρησιμοποιώντας τη σύνταξη που φαίνεται παρακάτω:



parent_class::parent_function ( ) ;



Παράδειγμα

Χρησιμοποιώντας τη C++ για την εξομοίωση της λειτουργικότητας υπερ-κλειδιών για πρόσβαση στις ιδιότητες μιας γονικής κλάσης, χρησιμοποιήστε τον τελεστή ανάλυσης πεδίου (::).





Ο τελεστής ανάλυσης πεδίου (::) μπορεί να χρησιμοποιηθεί για την απόκτηση των μελών μιας γονικής κλάσης κάθε φορά που μια κλάση κληρονομεί από αυτήν. Εξετάστε τον ακόλουθο κώδικα ως παράδειγμα:

#include
χρησιμοποιώντας namespace std?

class base_Class {
δημόσιο:
κενή βάσηΣυνάρτηση ( ) {
cout << 'Αυτό είναι το outout της BaseFunction από την βασική κλάση' << endl;
}
} ;
class derived_Class: public base_Class {
δημόσιο:
void dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << 'Αυτή προέρχεται η κλάση που έχει πρόσβαση στη βασική λειτουργία από τη βασική κλάση' << endl;
}
} ;
int main ( ) {
παράγωγο_Κλάση d;
d.dFunction ( ) ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}


Το παραπάνω πρόγραμμα έχει μια συνάρτηση από τη βασική ή γονική κλάση baseFunction(). Μια άλλη παραγόμενη κλάση ορίζεται η οποία έχει πρόσβαση στη baseFunction() στο dFunction(). Η κύρια μέθοδος είναι πρώτα η δημιουργία μιας παρουσίας της derived_class και η κλήση της dFunction() που εκτυπώνει την έξοδο τόσο της baseFunction() όσο και της dFunction().



συμπέρασμα

Αν και η λέξη-κλειδί «super» δεν υπάρχει άμεσα στη C++, η συμπεριφορά της μπορεί να μιμηθεί συνδυάζοντας την κληρονομικότητα και τις παρακάμψεις συναρτήσεων. Μπορούμε να καλέσουμε και να χρησιμοποιήσουμε με επιτυχία μεθόδους ή μέλη της υπερκλάσης καλώντας πρώτα τις συναρτήσεις της υπερκλάσης πριν προχωρήσουμε στην υλοποίηση της υποκλάσης. Αυτή η ανάρτηση παρείχε επίσης ένα παράδειγμα κώδικα C++ για καλύτερη κατανόηση.