שאלה לגבי קונסטרקטור (בנאי) ב-CPP

שאלה לגבי קונסטרקטור (בנאי) ב-CPP

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

BravoMan

Active member
מכילה או יורשת?

"מכילה" זו מחלקה שיש בה איבר (משתנה) מטיפוס של מחלקה אחרת.
יורשת, זה כאשר מחלקה אחת מרחיבה מחלקה אחרת - בנויה עליה.
&nbsp
בכל מקרה, אין חובה לקרוא לבנאי, אלא אם צריך להעביר לו באופן ספציפי פרמטרים.
&nbsp
בנאי ברירת מחדל הוא תמיד ללא פרמטרים, לכן הקומפיילר יודע לייצר קריאה אוטומטית אליו.
&nbsp
אבל ברגע שיש לך בנאי שמקבל אפילו פרמטר אחד אתה חייב לקרוא לו ידנית והגיד לו במפורש אאת ערך הפרמטר.
 
למעלה