ההבדל בין תפקוד חבר למעמד חבר

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 1 אַפּרִיל 2021
תאריך עדכון: 17 מאי 2024
Anonim
ההבדל בין פרסום שיווק ומכירות
וִידֵאוֹ: ההבדל בין פרסום שיווק ומכירות

תוֹכֶן


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

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

תכונת החברים הזו אינה קומוטטיבי וגם לא מעבר. X הוא חבר של Y לא מסיק ש- Y הוא גם חבר של X. אם X הוא חבר של Y ו- Y הוא חבר של Z, זה לא רומז ש- X הוא חבר של Z.

    1. טבלת השוואה
    2. הגדרה
    3. הבדלים עיקריים
    4. סיכום

טבלת השוואה

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


הגדרת פונקציית חבר

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

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

# כלול שימוש במרחב השמות std; נתונים ראשונים {int; ציבורי: ראשון (int i): נתונים (i) {} הצגת חלל חברים (const first & a); }; תצוגה בטלה (const first & a) {cout << "data =" <באמצעות מרחב שמות std; class First {// הכרז על חבר class class class class; ציבורי: ראשון (): a (0) {} void () {cout << "התוצאה היא" << a << endl; } פרטי: int a; }; כיתה שנייה {ציבורי: שינוי בטל (First & yclass, int x) {yclass.a = x; }}; int main () ראשון obj1; Obj2 שני; obj1. (); obj2.change (obj1, 5); obj1. (); // פלט התוצאה היא 0 התוצאה היא 5

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

סיכום

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