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

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

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

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

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