Πώς να εφαρμόσετε αυτό το δείκτη στο C ++;

Αυτός είναι ένας δείκτης που δείχνει προς τα αντικείμενα του καλούντος. Σε αυτήν την ανάρτηση, θα εμβαθύνουμε στην έννοια αυτού του δείκτη στο C ++.

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



Οι ακόλουθοι δείκτες θα καλυφθούν σε αυτό το άρθρο,



Ας ξεκινήσουμε με αυτό το άρθρο σχετικά με αυτόν τον δείκτη στο C ++

Αυτός ο δείκτης στο C ++

Δείκτες σε αντικείμενα

Οι άνθρωποι τείνουν να αποφεύγουν τους δείκτες καθώς η δουλειά τους ακούγεται λίγο μπερδεμένη. Σε αυτήν την ανάρτηση, θα κατανοήσουμε την έννοια του δείκτη με τον απλούστερο δυνατό τρόπο. Οι δείκτες χρησιμοποιούνται για να κρατήσουν τη διεύθυνση μιας συγκεκριμένης μεταβλητής. Χρησιμοποιούνται για να αναφέρουν τη μεταβλητή της οποίας τη διεύθυνση αποθηκεύει. Ένα σημαντικό σημείο που πρέπει να σημειωθεί εδώ είναι ότι ένας δείκτης μπορεί να αποθηκεύσει μόνο τη διεύθυνση μιας μεταβλητής του οποίου ο τύπος ταιριάζει με τον τύπο του δείκτη. Με άλλα λόγια, ένας δείκτης int τύπου μπορεί να κρατήσει μόνο τη διεύθυνση μιας μεταβλητής int τύπου.



Ποιος πρέπει να είναι ο τύπος του δείκτη που χρησιμοποιείται για την αποθήκευση της διεύθυνσης ενός αντικειμένου; Για να βρούμε μια απάντηση σε αυτήν την ερώτηση πρέπει να καταλάβουμε ποιος είναι ο τύπος ενός συγκεκριμένου αντικειμένου; Int, char, float; Όχι, ένα αντικείμενο είναι κλάσης τύπου. Με άλλα λόγια, ο τύπος ενός αντικειμένου είναι η κλάση στην οποία ανήκει. Καθώς μια συγκεκριμένη κλάση είναι ένας τύπος δεδομένων που καθορίζεται από το χρήστη και ένα αντικείμενο αυτής της κλάσης ανήκει σε αυτόν τον τύπο.

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

Προχωρώντας με δείγμα κώδικα για δείκτες προς αντικείμενα



Σύνταξη

class_name * pointer_name

#include using namespace std class Car {public: int Number_of_wheels int Number_of_passengers void getinfo (int x, int y) {Number_of_wheels = x Number_of_passengers = y} άκυρο showinfo () {cout<<'Number of Wheels = '< Παραγωγή 

Αριθμός τροχών = 4

Αριθμός επιβατών = 5

is-a και έχει-σχέση στη java

Αριθμός τροχών = 6

Αριθμός επιβατών = 8

Έτσι μπορούμε να χρησιμοποιήσουμε ένα δείκτη για να αναφέρουμε ένα αντικείμενο.

Σημείωση ο. ο τελεστής χρησιμοποιείται με το όνομα του αντικειμένου και -> ο χειριστής χρησιμοποιείται κατά την πρόσβαση στη μέθοδο μέσω ενός δείκτη.

Προχωρώντας με αυτό το άρθρο σχετικά με αυτόν τον δείκτη στο C ++

Αυτός ο δείκτης

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

Προχωρώντας με δείγμα κώδικα για αυτόν τον δείκτη

#include using namespace std class Car {private: int Number_of_wheels int Number_of_passengers public: void getinfo (int x, int y) {this-> Number_of_wheels = x this-> Number_of_passengers = y} άκυρο showinfo () {cout<<'Number of Wheels = '< Παραγωγή 

Αριθμός τροχών = 4

Αριθμός επιβατών = 5

Η διεύθυνση του τρέχοντος αντικειμένου είναι = 0x7ffdbac81740

Αριθμός τροχών = 6

Αριθμός επιβατών = 8

Η διεύθυνση του τρέχοντος αντικειμένου είναι = 0x7ffdbac81748

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

τι είναι η δομή δεδομένων στην Java

Δείκτες στην παράγωγη τάξη

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

Οχήματα * ptr Οχήματα οχήματα Αυτοκίνητο ptr = & οχήματα ptr = & αυτοκίνητο

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

Εάν ένα μέλος της κατηγορίας Car έχει το ίδιο όνομα με ένα από τα μέλη της Class Vehicles τότε, σε αυτήν την περίπτωση, ο δείκτης θα έχει πρόσβαση στο βασικό μέλος της κατηγορίας.

Έτσι, έχουμε φτάσει στο τέλος αυτού του άρθρου σχετικά με το 'This Pointer in C ++'. Εάν θέλετε να μάθετε περισσότερα, δείτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία μάθησης. Το μάθημα εκπαίδευσης και πιστοποίησης Java J2EE και SOA της Edureka έχει σχεδιαστεί για να σας εκπαιδεύσει τόσο για βασικές όσο και για προχωρημένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του ιστολογίου και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.