Σπίτι Προσωπικά Οικονομικά Πώς λειτουργεί ο πολυμορφισμός σε C ++ - dummies

Πώς λειτουργεί ο πολυμορφισμός σε C ++ - dummies

Βίντεο: James Earl Ray Interview: Assassin of Civil Rights and Anti-War Activist Dr. Martin Luther King, Jr. 2025

Βίντεο: James Earl Ray Interview: Assassin of Civil Rights and Anti-War Activist Dr. Martin Luther King, Jr. 2025
Anonim

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

Μπορεί να εκπλαγείτε ότι η προεπιλογή για την C ++ είναι έγκαιρη. Η έξοδος του προγράμματος OverloadOverride εμφανίζεται ως εξής:

Είμαστε στο Student:: calcTuition Είμαστε στο Student:: calcTuition Πατήστε Enter για να συνεχίσετε …

Ο λόγος είναι απλός, αν είναι λίγο χρονολογημένος. Πρώτον, η C ++ πρέπει να λειτουργεί όσο το δυνατόν περισσότερο από το C, για να διατηρήσει την συμβατότητα προς τα πάνω με τον προκάτοχό της. Δεύτερον, ο πολυμορφισμός προσθέτει ένα μικρό ποσό γενικών εξόδων σε κάθε κλήση λειτουργίας τόσο όσον αφορά την αποθήκευση δεδομένων όσο και τον κωδικό που απαιτείται για την πραγματοποίηση της κλήσης.

Οι ιδρυτές της C ++ ανησυχούσαν ότι θα έπρεπε να χρησιμοποιηθούν τυχόν πρόσθετα έξοδα ως λόγος να μην υιοθετήσουν τη C ++ ως γλώσσα επιλογής του συστήματος, έτσι ώστε να καταστήσουν την πιο αποτελεσματική έγκαιρη δέσμευση της προεπιλογής.

, όπως φαίνεται στην παρακάτω τροποποίηση της δήλωσης στο OverloadOveride < πρόγραμμα: Φοιτητής τάξης {public: virtual void calcTuition () {cout << "είμαστε στο Student:: calcTuition" endl;}}; Η λέξη

εικονική

που λέει στο C ++ ότι η calcTuition () είναι μια λειτουργία πολυμορφικού μέλους. Δηλαδή, η δήλωσή της (virtual) σημαίνει ότι οι κλήσεις προς αυτήν θα δεσμευτούν αργά αν υπάρχουν αμφιβολίες ως προς τον τύπο χρόνου εκτέλεσης του αντικειμένου με το οποίο καλείται CalcTution ().

OverloadOveride

με CalcTution () δηλώνει την εικονική παράγει την ακόλουθη έξοδο: Είμαστε στο Student:: calcTuition Είμαστε στο GraduateStudent: Εισαγάγετε για να συνεχίσετε … Εάν είστε εξοικειωμένοι με το εργαλείο εντοπισμού σφαλμάτων που συνοδεύει το περιβάλλον C ++, πρέπει πραγματικά να κάνετε ένα βήμα μέσω αυτού του παραδείγματος. Είναι πολύ ωραίο να βλέπετε το πρόγραμμα με ένα βήμα στο Student:: calcTution () για πρώτη φορά που ονομάζεται fn () αλλά στο GraduateStudent:: calTution () στη δεύτερη κλήση. Δεν μπορείτε πραγματικά να εκτιμήσετε τον πολυμορφισμό μέχρι να το δοκιμάσετε.


Πρέπει να δηλώσετε τη λειτουργία μόνο στην βασική κλάση. Η "εικονικότητα" μεταφέρεται αυτόματα στην υποκλάση. Μερικές φορές, όμως, οι προγραμματιστές ακολουθούν το πρότυπο κωδικοποίησης της δήλωσης της λειτουργίας virtual σχεδόν παντού (ουσιαστικά).

Πώς λειτουργεί ο πολυμορφισμός σε C ++ - dummies

Η επιλογή των συντακτών

Πώς να διαχειρίζεστε τις καρτέλες στο Safari - ανδρείκελοι

Πώς να διαχειρίζεστε τις καρτέλες στο Safari - ανδρείκελοι

Ο ιστότοπος Mac του Safari μπορεί να διαχειρίζεται πολλές καρτέλες κατά την περιήγηση. Όταν ανοίγετε πολλαπλά παράθυρα με καρτέλες, όπως φαίνεται, μπορείτε να αναδιατάξετε τον τρόπο παραγγελίας τους, να τα κλείσετε ή να αποθηκεύσετε μια ομάδα καρτελών ως σελιδοδείκτη που μπορείτε να ανοίξετε ξανά ταυτόχρονα με ένα μόνο κλικ του ποντικιού σας ή να τα προσθέσετε στο Ανάγνωση ...

Πώς να πλοηγηθείτε και να επιλέξετε κελιά σε ένα υπολογιστικό φύλλο αριθμών - Dummies

Πώς να πλοηγηθείτε και να επιλέξετε κελιά σε ένα υπολογιστικό φύλλο αριθμών - Dummies

Αφού δημιουργήσετε ένα υπολογιστικό φύλλο Αριθμοί - το πρόγραμμα υπολογιστικών φύλλων που προσφέρει το Mac OS X Snow Leopard - πρέπει να ξέρετε πώς να φτάσετε στο κελί όπου θέλετε να εισάγετε τα δεδομένα σας. Μπορείτε να χρησιμοποιήσετε τις γραμμές κύλισης για να μετακινηθείτε στο υπολογιστικό σας φύλλο, αλλά όταν εισάγετε δεδομένα σε κελιά, μετακινείτε ...

Πώς να ανοίξετε ένα υπάρχον Mac Snow Leopard Αρχείο Spreadsheet - dummies

Πώς να ανοίξετε ένα υπάρχον Mac Snow Leopard Αρχείο Spreadsheet - dummies

Snow Leopard provides Numbers εφαρμογή που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε και να εργαστείτε με υπολογιστικά φύλλα. Αν εμφανιστεί ένα έγγραφο Numbers σε ένα παράθυρο Finder, μπορείτε να κάνετε διπλό κλικ στο εικονίδιο του εγγράφου για να το ανοίξετε. Οι αριθμοί αυτόματα φορτώνουν και εμφανίζουν το υπολογιστικό φύλλο. Ωστόσο, είναι εξίσου εύκολο να ανοίξετε ένα έγγραφο Numbers από το πρόγραμμα. Ακολουθήστε ...

Η επιλογή των συντακτών

Πώς να χρησιμοποιήσετε τεχνικές εκδηλώσεων - ανδρείκελα

Πώς να χρησιμοποιήσετε τεχνικές εκδηλώσεων - ανδρείκελα

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

Πώς να χρησιμοποιήσετε την προσοχή στο σπίτι - ανδρείκελα

Πώς να χρησιμοποιήσετε την προσοχή στο σπίτι - ανδρείκελα

Όχι μόνο κάνει διαλογισμό Mindfulness και άσκηση στο σπίτι βολικό, αλλά σας βοηθά επίσης να απολαύσετε τις καθημερινές σας δραστηριότητες. Στη συνέχεια, αντί να βλέπετε τις δουλειές ως βάρος, μπορεί να αρχίσετε να τις βλέπετε ως ευκαιρίες να απολαύσετε τη σημερινή στιγμή όπως είναι. Ξυπνήστε προσεκτικά Όταν ξυπνάτε, αναπνέετε ...

Πώς να χρησιμοποιήσετε την προσοχή για τη μείωση του γρήγορου στρες - ανδρεικέτες

Πώς να χρησιμοποιήσετε την προσοχή για τη μείωση του γρήγορου στρες - ανδρεικέτες

Πολλοί άνθρωποι έρχονται στην προσοχή για τη μείωση του στρες. Το άγχος επηρεάζει τον καθένα, ανεξάρτητα από τη δουλειά, τη ζωή στο σπίτι ή την οικονομική σας κατάσταση. Εάν είστε ζωντανοί, θα πάρετε το άγχος. Το ερώτημα είναι, πώς χειρίζεστε το άγχος; Πώς αποφασίζεις τι θα φάει για δείπνο απόψε; Η απόφασή σας πιθανόν να εξαρτάται από το πώς ...

Η επιλογή των συντακτών

Αυτόματες ρυθμίσεις έκθεσης στην κάμερα Nikon D5100 - ανδρείκελα

Αυτόματες ρυθμίσεις έκθεσης στην κάμερα Nikon D5100 - ανδρείκελα

Η ψηφιακή φωτογραφική μηχανή SLR Nikon D5100 προσφέρει αυτόματες ρυθμίσεις Ενεργοποιήστε τη φωτογραφική εκτύπωση σε σημείο και βολή. Οι ρυθμίσεις που αναφέρονται εδώ σας βοηθούν να καταγράψετε τους συνηθέστερους τύπους αντικειμένων. απλά ρυθμίστε τον επιλογέα τρόπου λειτουργίας στο εικονίδιο που εμφανίζεται στον πίνακα. Για να αποκτήσετε πρόσβαση σε επιπρόσθετες λειτουργίες σκηνής, ορίστε τον επιλογέα τρόπου λειτουργίας στη σκηνή και περιστρέψτε τον επιλογέα εντολών για να ...

Αποφυγή συνηθισμένων προβλημάτων με τη χρήση φακού τηλεφακό

Αποφυγή συνηθισμένων προβλημάτων με τη χρήση φακού τηλεφακό

Οι τηλεφακοί έχουν μερικές πιθανές παγίδες. Όταν χρησιμοποιείτε τηλεφακός στην ψηφιακή σας φωτογραφική μηχανή, συνειδητοποιήστε τα προβλήματα που ενδέχεται να αντιμετωπίσετε. Για να αποφύγετε προβλήματα κατά τη λήψη φωτογραφιών με τηλεφακό: