ABA


"שאלה תיכנותית."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11113 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11113
Yariv-H לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
5856 הודעות, 1 פידבק
   09:20   09.01.13   
אל הפורום  
  שאלה תיכנותית.  
 
   הרבה זמן לא התעסקתי עם C++..

שאלו אותי לפני יומיים שאלה , אני כמעט בטוח שעניתי כמו שצריך , אבל אמרתי שאתייעץ איתכם.

ישהם 2 מחלקות , מחלקה א ומחלקה ב.

הקונסטרקטור של מחלקה א , יוצר אינסטנט חדש של מחלקה ב.
הקונסטרקטור של מחלקה ב , יוצר אינסטנט חדש של מחלקה א.

כמובן שמצב זה יגרום לזכרון להתפוצץ...

איך הייתם מתקנים את המצב הזה?

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

יש פתרון יותר קלאסי?

תודה.



                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  היי, sharkk 09.01.13 11:03 1

       
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   11:03   09.01.13   
אל הפורום  
  1. היי,  
בתגובה להודעה מספר 0
 
   1. התשובה שענית זה אפשרי.
2. אפשר באותה מידה ליצור איזה שהוא קריאה לפונקציה או לפקטורי שתעשה בדיוק מה שאמרת בקשר לקונסטרקטור אחר (במקום קונסטרקטור פונקציית יצירה).
3. אפשר לעשות איזה שהוא static variable שישמש סוג של דגל, ז"א כאשר אובייקט אחד נוצר אז מורם דגל, וכאשר אובייקט שני גם מורם דגל ככה ניתן לדעת שבטוח שני האובביקטים נוצרו ואין צורך ליצור אותם עוד ועוד ועוד עד שהזיכרון אכן יתפוצץ

זה מה שעולה לי בינתיים בראש


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net