Διαφορά μεταξύ της λειτουργίας φίλων και της κατηγορίας φίλων

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 1 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 11 Ενδέχεται 2024
Anonim
Сравнение FAW Bestune T77 vs GEELY COOLRAY Китайский Терминатор от XIAOMI или Доступный LAMBORGEELY?
Βίντεο: Сравнение FAW Bestune T77 vs GEELY COOLRAY Китайский Терминатор от XIAOMI или Доступный LAMBORGEELY?

Περιεχόμενο


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

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

Αυτό το φίλο χαρακτηριστικό δεν είναι ούτε commutative και ούτε μεταβατικός. X είναι φίλος του Y δεν συμπεραίνει ότι Y είναι επίσης φίλος του X. Εάν X είναι φίλος του Y και Y είναι φίλος του Z, δεν εμπλέκει ότι το X είναι φίλος του Z.


    1. Συγκριτικό διάγραμμα
    2. Ορισμός
    3. Βασικές διαφορές
    4. συμπέρασμα

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΛειτουργία φίλουΚατηγορία φίλων
ΒασικόςΕίναι μια συνάρτηση που χρησιμοποιείται με μια λέξη-κλειδί φίλου για να παραχωρήσει πρόσβαση σε μια μη-μέλος λειτουργία στα ιδιωτικά μέλη μιας τάξης.Είναι μια τάξη που χρησιμοποιείται με μια λέξη-κλειδί φίλου για πρόσβαση στα ιδιωτικά μέλη μιας άλλης τάξης.
Προώθηση της δήλωσηςΠρέπει να χρησιμοποιηθεί.Δεν είναι υποχρεωτικό.
ΧρήσηΜια λειτουργία φίλων μπορεί να χρησιμοποιηθεί σε κάποια κατάσταση υπερφόρτωσης του χειριστή.Μια τάξη φίλων μπορεί να χρησιμοποιηθεί όταν μια τάξη δημιουργείται στην κορυφή μιας άλλης τάξης.

Ορισμός της λειτουργίας του φίλου

ο φίλη χρησιμοποιείται για πρόσβαση στα ιδιωτικά και προστατευμένα μέλη μιας τάξης, επιτρέποντας στη μη-μέλος λειτουργία να αποκτήσει πρόσβαση. Σε αυτόν τον τύπο λειτουργίας, μια λέξη-κλειδί φίλου χρησιμοποιείται πριν από το όνομα της λειτουργίας κατά τη στιγμή της δήλωσης. Υπάρχουν ορισμένες περιοριστικές συνθήκες που εφαρμόζονται στη λειτουργία φίλων. Η πρώτη προϋπόθεση είναι ότι η λειτουργία φίλων δεν κληρονομείται από τάξη παιδιών. Η δεύτερη προϋπόθεση είναι ότι ο προσδιοριστής κλάσης αποθήκευσης μπορεί να μην υπάρχει στη λειτουργία φίλων, πράγμα που σημαίνει ότι δεν μπορεί να δηλωθεί ως στατικός και εξωτερικός.


Η λειτουργία φίλου δεν καλείται με αντικείμενο επικλήσεως της κλάσης. Τα παραδείγματα της λειτουργίας φίλων είναι: μια παγκόσμια συνάρτηση, μια λειτουργία μέλους μιας κλάσης, ένα πρότυπο λειτουργίας μπορεί να είναι μια λειτουργία φίλου. Ας το καταλάβουμε με τη βοήθεια ενός παραδείγματος.

#περιλαμβάνω χρησιμοποιώντας τον χώρο ονομάτων std. class πρώτη {int δεδομένα? δημόσιο: πρώτο (int i): δεδομένα (i) {} φίλος void display (const πρώτα & α); }, άκυρη απεικόνιση (const πρώτα & α) {cout << "data =" <using namespace std; τάξη Πρώτη {// Δηλώστε μια τάξη φίλων τάξη φίλων Δεύτερη? δημόσιο: Πρώτο (): a (0) {} void () {cout << "Το αποτέλεσμα είναι" << a << endl; } ιδιωτικό: int a; }, class Second {public: void change (Πρώτο & yclass, int x) {yclass.a = x; }}. int main () Πρώτο obj1; Δεύτερο obj2; obj1 (); obj2.change (obj1, 5). obj1 (); // Output Το αποτέλεσμα είναι 0 Το αποτέλεσμα είναι 5

  1. Η λειτουργία φίλων είναι μια λειτουργία που μπορεί να έχει πρόσβαση σε ιδιωτικά και προστατευμένα μέλη μιας τάξης. Αντίθετα, μια τάξη φίλων είναι μια τάξη που βοηθά στην πρόσβαση στα ιδιωτικά μέλη μιας τάξης.
  2. Μια λειτουργία φίλων δηλώνεται με την ενσωμάτωση του πρωτοτύπου της μέσα στην τάξη, πριν από αυτή με τη λέξη-κλειδί φίλο. Ομοίως, μια τάξη φίλων ορίζεται επίσης με χρήση φίλου λέξης-κλειδιού.
  3. Η μπροστινή δήλωση χρησιμοποιείται σε περίπτωση λειτουργίας φίλων, δεν είναι απαραίτητη η χρήση της σε τάξη φίλων.

συμπέρασμα

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