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

Date d;
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

הבנאי יורץ כאשר הפונקציה תריץ את פקודת ההגדרה.
המפרק יורץ כאשר הפונקציה תסתיים, ע"י פקודת return או בסוף הבלוק בו הוגדר האובייקט, בדיוק מתי שמשתנה לוקלי מת.
הדרך השניה להקצות אובייקט היא עם האופרטורים new ו-delete:

Date *d;
d = new Date;
delete d;
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

הבנאי ירוץ כשתשתמש באופרטור new, ואילו המפרק ירוץ בעת שימוש באופרטור delete.
כעת, נניח שהבנאי דורש פרמטרים. בדרך הראשונה, מוסיפים את הפרמטרים לאחר שם האובייקט:

Date d(1965);
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

ובדרך השניה, עושים פחות או יותר את אותו הדבר:

d = new Date(1965);
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

בנוסף, כאשר מגדירים אובייקט כמשתנה נורמלי, לפי הדרך הראשונה, הגישה למשתני המחלקה של האובייקט היא ע"י סימן הנקודה:

d.month = 12;
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

כאשר משתמשים ב-new כדי להקצות את האובייקט, מקבלים בעצם מצביע לאובייקט, ולכן משתמשים בסימן ה- <- כדי לגשת למשתני המחלקה, בדיוק כמו בעת שימוש ב-struct ב-C:

d->month = 12;
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

חשוב לדעת שהסימן <- משמש גם כדי להפעיל את פונקציות החבר של האובייקט דרך המצביע לאובייקט, דבר שלא קיים ב-struct ב-C:

d->AddDays(3);
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט