כיצד ליישם את המצביע הזה ב- C ++?



זה מצביע המצביע לעבר החפצים המתקשרים. בפוסט זה, נצלול עמוק יותר למושג המצביע הזה ב- C ++.

במהלך התכנות אולי נתקלת במילת מפתח 'זו'. 'זה' הוא מצביע שמצביע לעבר אובייקטים המתקשרים. בפוסט זה, נצלול עמוק יותר למושג זה מצביע ב- C ++

המצביעים הבאים יוסקרו במאמר זה,





נתחיל במאמר זה בנושא מצביע זה ב- C ++

המצביע הזה ב- C ++

מצביעים לאובייקטים

אנשים נוטים להתרחק מצביעים מכיוון שהעבודה שלהם נשמעת מעט מבלבלת. בפוסט זה נבין את מושג המצביע בצורה הכי פשוטה שיש. בעזרת מצביעים ניתן להחזיק את הכתובת של משתנה מסוים. הם משמשים להפניית המשתנה שאת כתובתו הוא שומר. נקודה חשובה אחת שיש לציין כאן היא שמצביע יכול לאחסן רק את כתובת המשתנה שסוגו תואם את סוג המצביע. במילים אחרות, מצביע מסוג int יכול להכיל רק את הכתובת של משתנה מסוג int.



מה צריך להיות סוג המצביע המשמש לאחסון כתובת האובייקט? כדי למצוא תשובה לשאלה זו עלינו להבין מה סוג האובייקט המסוים? Int, char, לצוף? לא, אובייקט הוא מסוג סוגים. במילים אחרות, סוג האובייקט הוא המעמד אליו הוא שייך. כמחלקה מסוימת הוא סוג נתונים המוגדר על ידי המשתמש ואובייקט מאותו מחלקה שייך לסוג זה.

עד עכשיו, יכולת לייצר מצביעים להפניית משתנים מסוגים פרימיטיביים. בואו נראה כיצד נוכל להשתמש במצבעים שיכולים להתייחס לאובייקט מסוים.

ממשיכים עם קוד לדוגמא עבור מצביעים לאובייקטים



keyerror: 'a'

תחביר

שם כיתה * שם מצביע

# כלול שימוש ב- 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} void showinfo () {cout<<'Number of Wheels = '< תְפוּקָה 

מספר הגלגלים = 4

מספר הנוסעים = 5

מספר הגלגלים = 6

מספר הנוסעים = 8

כך אנו יכולים להשתמש במצביע כדי להפנות אובייקט.

הערה ה. אופרטור משמש עם שם האובייקט - -> אופרטור משמש בעת גישה לשיטה באמצעות מצביע.

ממשיך הלאה עם מאמר זה ב- This Pointer ב- C ++

המצביע הזה

אם אתה עם פיתון אולי נתקלת במילה 'עצמי'. הפונקציות של 'זה' ו'עצמי 'דומות זו לזו. 'זה' הוא פרמטר המועבר לכל השיטות הלא סטטיות של מחלקה שאיננו יכולים לראות אך ניתן להשתמש בה בכל שיטה לא סטטית או מופע של מחלקה. מצביע 'זה' מועבר לפונקציה של חבר שאינו סטטי ברגע שהוא נקרא. זהו טיעון מרומז לכל תפקודי החברים הלא סטטיים של הכיתה.

ממשיכים עם קוד לדוגמא עבור מצביע זה

# כלול שימוש ב- namespace std class רכב {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} void showinfo () {cout<<'Number of Wheels = '< תְפוּקָה 

מספר הגלגלים = 4

מספר הנוסעים = 5

כתובת האובייקט הנוכחי היא = 0x7ffdbac81740

מספר הגלגלים = 6

מספר הנוסעים = 8

כתובת האובייקט הנוכחי היא = 0x7ffdbac81748

התוכנית לעיל נותנת לנו הבנה קצרה של מילת המפתח 'זו'. מילת מפתח 'זו' שימושית כאשר שם המשתנה מתנגש או כאשר מעורבים מספר עצמים בשיטה.

מצביעים לכיתה נגזרת

בעזרת מצביעים לא רק ניתן להתייחס למחלקת הבסיס אלא ניתן להשתמש בהם גם כדי להצביע על אובייקט מחלקה נגזר. לדוגמא, אם מכונית מחלקה יורשת מכיתות מחלקה, ניתן להשתמש במצביע מסוג רכב גם כדי להצביע לעבר אובייקט מסוג רכב.

כלי רכב * ptr כלי רכב כלי רכב רכב ptr = & רכב ptr = & רכב

המלכוד היחיד כאן הוא שאם אנו משתמשים במצביע מחלקה בסיסית בכדי להצביע לעבר אובייקט המחלקה הנגזר, נוכל לגשת רק לשיטות מחלקת הבסיס אשר עוברות בירושה על ידי אובייקט המחלקה הנגזר. איננו יכולים לגשת לחברי המחלקה הנגזרת באמצעות מצביע מחלקת הבסיס.

אם לחבר בכיתה יש את אותו השם לאחד מחברי הרכב בכיתה, במקרה זה, המצביע ייגש לחבר הכיתה הבסיסית.

לפיכך הגענו לסוף מאמר זה בנושא 'המצביע הזה ב- C ++'. אם ברצונך ללמוד עוד, עיין ב מאת אדוריקה, חברת למידה מקוונת אמינה. קורס ההכשרה וההסמכה של Java J2EE ו- SOA של אדוריקה נועד להכשיר אותך לקונספטים מרכזיים של Java וגם עם מסגרות Java שונות כמו Hibernate & Spring.

יש לך שאלה עבורנו? אנא הזכיר זאת במדור התגובות בבלוג זה ונחזור אליך בהקדם האפשרי.