עבור לתוכן
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.

איך מאתחלים ערך למשתנה במחלקה כאשר מקבלים פרמטר עם אותו שם?

Featured Replies

פורסם

נניח יש לי מחלקה Ball והשיטה הבונה שלה מוגדרת כך:

Ball:Ball(float posX, float posY)

והמאפיינים של המחלקה הם גם:

posX ו-posY

השאלה שלי היא איך אני מציב את הפרמטרים במאפיינים של המחלקה כשיש להם אותו שם?

אם אני לא טועה ב-JAVA משתמשים במילה this כדי לעשות את זה..

תודה מראש!

פורסם

this->posX = posX;

מומלץ לתת לשמות משתנים שנמצאים בתוך מחלקה שמות שמתחילים בפרפיקס m_

example:

m_posX

m_done;

וכו'.

פורסם
  • מחבר

אחלה תודה ואיך אני עושה קונסטרקטור שקורא לקונסטרקטור אחר?

ניסיתי ככה ולא עובד:


Ball::Ball()
{
Ball(0,0);
}

לפי מה שהבנתי אי אפשר לעשות כמו בג'אווה קטנסראקטור אחד שקורא לאחר אז פשוט מוסיפים עוד שיטה נניח Init והשיטות הבונות קוראות לה.

פורסם

ניתן גם להשתמש בשורת אתחול(רווי סכנות, ראה פוסט שנמצא עוד בעמוד הזה :-*) כלומר

Ball::Ball() : Lebron(32,5,8){}

פורסם

אז ככה:

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

בד"כ הפתרון הוא מה ש-MasterDK הציע, או לחילופין לתת שמות פרמטרים קצת שונים (נניח להוסיף _ בהתחלה).

על מנת לקרוא לקונסטרקטור אחר מתוך הקונסטרקטור, צריך לעשות ככה:

Ball::Ball() : Ball(0,0)
{
}

ארכיון

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

דיונים חדשים

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.