Struct

NetShadow

New member
../images/Emo41.gif../images/Emo41.gifאבל זו מחלקה מקוננת !

מדוע שתוכל ליצו למופע שלה, כאשר היא אמורה להיות רק מחלקה פנימית, של מחלקה אחרת ?
 

yaakov77

New member
עיינתי שוב בשאלתך

וגיליתי שטעיתי. אם הפנימית תוגדר כ-private לא תהיה גישה אליה מחוץ למחלקה העוטפת.
 

yaakov77

New member
הבדל חשוב

שאיני יודע אם עמדת עליו, משתנה מסוג class מועבר כ-reference בעוד struct כקבוע.
 

pagis

New member
כמה דברים נוספים

קודם כל ל class יש destructors ול struct אין. דבר שני הנתונים מתנהגים אחרת בהשמה בגלל שאופן טבעי כשמדברים על משתנה שהוא reference אפשר פשוט ליצור עוד reference אבל כשמדברים על ערך ממשי, כמו ב struct אז אתה יוצר עוד מופע בזיכרון. חוץ מזה זה לא מדוייק ש struct תמיד יווצר ב stack, הקצאת הזכרון תעשה במקום בו היא מתבצעת, כלומר שאם אתה מבצע את ההקצאה לאובייקט החדש שלך מה stack (כמו למשל במקרה של משתנה מקומי במתודה) הזיכרון לאובייקט struct יתבצע על ה stack, אבל אם אתה מבצע את ההקצאה מה heap (לדוגמה data member מסוג struct בתוך אובייקט class) אז גם אם זה struct ההקצאה תתבצעה על ה heap.
 
למעלה