עבור לתוכן

C++ שאלה בקשר למערך של אוביקטים

Featured Replies

פורסם

אני רוצה לעשות מערך של אוביקטים מטיפוס X ו Y שהם היורשים של טיפוס Z

האם אני יכול להגידר מערך מטיפוס Z ולהכניס לתוכו את האוביקטים מטיפוס X ו Y כמו בJAVA?

פורסם

לא בדיוק.

הפולימורפיזם ב-C++ פועל רק עם פוינטרים (ב-Java כל אובייקט שאינו פרימיטיבי הוא גם ככה פוינטר).

לכן אתה צריך להגדיר מערך של מצביעים ל-Z, כלומר:

Z* arr[N];

פורסם
  • מחבר

ואיך אני ניגש אליהם<?

פורסם

(x)arr[3]

אם הרביעי הוא מסוג X.

פורסם
  • מחבר

אהה

downcast כמו מJAVA

פורסם

יש גם אפשרות להגדיר פונ כVIRTUAL ולהמנע מCASTING. רשמתי על זה כאן איפשהו פעם... תחפש.

ארכיון

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

דיונים חדשים