ABA


"|++c| איך אני קורא לבנאי של מחלקת בסיס ממחלקה יורשת?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11012 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11012
matan13
חבר מתאריך 14.7.08
19469 הודעות, דרג אמינות חבר זה
   22:34   16.11.12   
אל הפורום  
  |++c| איך אני קורא לבנאי של מחלקת בסיס ממחלקה יורשת?  
 
   יש לי מחלקה base ומחלקה שיורשת ממנה derived, בheader של base מוגדר בנאי והוא ממומש בקובץ הcpp של הbase.

וכשניסיתי ליצור אוביקט מסוג derived:
Derived d(some arguments);
ואז עשיתי כך:
Base *p;
p=&d

הוא נותן שגיאה על השורה האחרונה(cannot convert base to derived in assingment), אז אני מניח שהבעיה היא שהוא לא יוצר את האובייקט נכון, אז האם אני צריך לרשום בנאי בתוך הheader וה-cpp של המחלקה היורשת?
אם כן, איך אני אומר לבנאי לקרוא לבנאי הראשי?(הבנאי של היורשת לא צריך לשנות כלום ולכן אין טעם לשכפל את הקוד).

תודה מראש.


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  אין קשר לבנאי כי אתה מתעסק עם פויינטרים ldan192  16.11.12 22:39 1
     ניסתי מה שרשמת, זה לא עובד הוא נותן שגיאה: matan13 18.11.12 09:42 2
         אי אפשר ליצור מופע של מחלקה אבסטרקטית, dvir8 18.11.12 09:58 3
             אני יודע, יש לה מחלקה יורשת, אני יוצר אובייטק של המחלקה היורשת, אבל אני רוצה matan13 18.11.12 10:06 4
  הסתדרתי, הקריאה שלי לבנאי לא הייתה נכונה(למרות שחוקית לגמרי), זה מה שקורה matan13 18.11.12 10:20 5
     תוכל לפרט? אמרת בעצם שאין בעיה בשורה עם ה-d, לא? ldan192  18.11.12 20:20 6
         סתם בעיה שטותית, כשקראתי לבנאי במקום לרשום רק את השמות של הארגומנטים, רשמתי גם matan13 21.11.12 16:32 7

       
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   22:39   16.11.12   
אל הפורום  
  1. אין קשר לבנאי כי אתה מתעסק עם פויינטרים  
בתגובה להודעה מספר 0
 
בטוח שלא שכחת לשים &?
עשית include (רק) להאדר של derived (אין צורך בשל base כי הוא נמצא כבר ב-derived)?

מה קורה כשאתה משתמש ב-casting? (כלומר p = (base*)d)?
כי יש דגלים שלא מאפשרים לקומפיילר implicit casting


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
matan13
חבר מתאריך 14.7.08
19469 הודעות, דרג אמינות חבר זה
   09:42   18.11.12   
אל הפורום  
  2. ניסתי מה שרשמת, זה לא עובד הוא נותן שגיאה:  
בתגובה להודעה מספר 1
 
   undefinde reference to d

base היא אבסטרקטית אם זה משנה משהו..

עזרה בבקשה..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות, דרג אמינות חבר זה
   09:58   18.11.12   
אל הפורום  
  3. אי אפשר ליצור מופע של מחלקה אבסטרקטית,  
בתגובה להודעה מספר 2
 
   מחלקה אבסטרטית היא עיצוב, מודל שיכול לכלול מימוש
אבל אתה לא יכול ליצור מופע שלו
אין לי נסיון בשפת C++ אבל אני יודע מ C# ו JAVA שזה ככה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
matan13
חבר מתאריך 14.7.08
19469 הודעות, דרג אמינות חבר זה
   10:06   18.11.12   
אל הפורום  
  4. אני יודע, יש לה מחלקה יורשת, אני יוצר אובייטק של המחלקה היורשת, אבל אני רוצה  
בתגובה להודעה מספר 3
 
   להצביע עליה בעזרת מצביע מהמחלקה האבסטרקטית.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
matan13
חבר מתאריך 14.7.08
19469 הודעות, דרג אמינות חבר זה
   10:20   18.11.12   
אל הפורום  
  5. הסתדרתי, הקריאה שלי לבנאי לא הייתה נכונה(למרות שחוקית לגמרי), זה מה שקורה  
בתגובה להודעה מספר 0
 
   כשמתכנתים מחלקות כל כך הרבה זמן, שכחתי איך רושמים קריאות מהראשי.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   20:20   18.11.12   
אל הפורום  
  6. תוכל לפרט? אמרת בעצם שאין בעיה בשורה עם ה-d, לא?  
בתגובה להודעה מספר 5
 


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
matan13
חבר מתאריך 14.7.08
19469 הודעות, דרג אמינות חבר זה
   16:32   21.11.12   
אל הפורום  
  7. סתם בעיה שטותית, כשקראתי לבנאי במקום לרשום רק את השמות של הארגומנטים, רשמתי גם  
בתגובה להודעה מספר 6
 
   את הסוג שלהם ובנוסף לזה לא הגדרתי אותם..


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

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

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



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