ירושה ופולימורפיזם: ++C - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

ירושה ופולימורפיזם: ++C


Gilladriel

Recommended Posts

עדיף לשים את הקוד בתוך טג קוד, לא סתם להצמיד שמאלה.

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

הפתרון הוא פשוט - להגדיר את ה-Destructor כוירטואלי (מה שמומלץ לעשות תמיד במקרה של ירושה).

קישור לתוכן
שתף באתרים אחרים

Airplane *c = dynamic_cast<Airplane*>(airplaneNode->m_data)-> // Error: the operand of a runtime dynamic_cast must have a polymorphic class type

אתה לא קורא מה שכותבים לך, נכון?

בנוסף, גם מה ששניצל אמר.

בקיצור, תקרא קצת איך משתמשים בdynamic_cast ואת הסינטקס המדויק.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...