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

Date::Date (int y, int m, int d)
{
 year = y;
 month = m;
 day = d;
}
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

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

Date::Date (int year, int month, int day)
{
 year = year;
 month = month;
 day = day;
}
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

שינוי זה מוביל לבעיה. השם month הוא גם פרמטר וגם משתנה מחלקה, כך שאם תשתמש במילה month , איך ידע המהדר למי אתה מתכוון ? ובכן, הוא יניח שאתה מתכוון לפרמטר. בכל אופן, רצוי שתהיה דרך להגיד למהדר להשתמש בפרמטר במקום אחד, ובמשתנה המחלקה במקום אחר. ובכן, כדי לפנות למשתנה המחלקה עליך להשתמש במילה השמורה this. המילה this היא מילה מיוחדת בה ניתן להשתמש רק בתוך פונקציות חבר. היא מצביעה לאובייקט עליו עובדת הפונקציה. במקרה זה, היא תצביע לאובייקט ה- date. ואז, כדי לפנות למשתנה המחלקה של האובייקט, עליך להשתמש במילה this, אחריה <- ולבסוף שם המשתנה כמו שעשינו כאן.

Date::Date (int year, int month, int day)
{
 this->year = year;
 this->month = month;
 this->day = day;
}
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

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