א פורסם 2014 ביוני 22 Share פורסם 2014 ביוני 22 נניח שאני יוצר מופע של המחלקה A, שמכילה (לא יורשת) את המחלקה B.למשל כך:class B{public: B() { cout << "hello B" << endl; }};Class A {public: A() { cout << "hello A" << endl; } B test;};ביצירת מופע, איזה בנאי יופעל קודם? של A או של B?חשבתי שקודם של A, כי הבנאי זה הדבר הראשון שמופעל ביצירת מופע, אבל מסתבר שדווקא הבנאי של B. למה זה? קישור לתוכן שתף באתרים אחרים More sharing options...
שכיר חרב פורסם 2014 ביוני 22 Share פורסם 2014 ביוני 22 לפני שמבוצע הקוד של הבנאי, מאותחלים כל שדות המחלקה (בסדר בו הוגדרו במחלקה).(אם לבנאי הייתה רשימת אתחול, אז השדות היו מאותחלים לפיה. זה מתקשר לכך שבטח שמעת שלא מומלץ לאתחל שדות בתוך הבנאי אלא ברשימת האתחול.) קישור לתוכן שתף באתרים אחרים More sharing options...
א פורסם 2014 ביוני 22 מחבר Share פורסם 2014 ביוני 22 תודה, ברשותך שאלה נוספת (בלי קשר לשאלה הראשונה ולקוד שצירפתי)נניח שמחלקה A יורשת מ-B ומ-C. איזה בנאי יופעל קודם ביצירת מופע של A, האם C או B? קישור לתוכן שתף באתרים אחרים More sharing options...
שכיר חרב פורסם 2014 ביוני 22 Share פורסם 2014 ביוני 22 לפי הסדר שבו כתבת את המחלקות שמהן A יורשת.(אלא אם כן יש ירושה וירטואלית, ואז החוקים קצת משתנים.) קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.