עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

|מונחה עצמים בC++| שאלה על UPCASTING ופולימורפיזם....

Featured Replies

פורסם

כשמתייחסים לכל מיני עצמים (שיורשים מאבא אחד) עם מצביע מטיפוס האבא , זה נקרא UPCASTING ?

עדיין יש אפשרות לגשת לפונקציה שקיימת אצל בן מסוים שאין אותה לאבא ? או רק לפונ' הוירטואליות של האבא ואז זה יפעיל לי בעזרת VTBL את של הבן ?

פורסם

כשמתייחסים לכל מיני עצמים (שיורשים מאבא אחד) עם מצביע מטיפוס האבא , זה נקרא UPCASTING ?

כן, בערך. upcasting זה פשוט המרה מהטיפוס של מצביע לבן למצביע לאב. אם יש לך קלאס בשם Base וקלאס בשם Derived שיורש ממנו, אז הפעולה הזו היא upcast

Derived* p = ...;
Base* q = p;

עדיין יש אפשרות לגשת לפונקציה שקיימת אצל בן מסוים שאין אותה לאבא ? או רק לפונ' הוירטואליות של האבא ואז זה יפעיל לי בעזרת VTBL את של הבן ?

סתם ככה אי אפשר (זה לא יתקמפל). אפשר באמצעות downcast (שזו בדיוק הפעולה הפוכה ל-upcast). בשביל להמיר באופן בטוח צריך להשתמש ב-dynamic_cast.

פורסם
  • מחבר

הבנתי תודה :xyxthumbs:

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.