נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: c++

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
el11
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 October 2007 בשעה 16:41 | IP רשוּם
ציטוט el11

היי! מישהו יכול להסביר לי על העמסת אופרטורים אני לא מבינה את הנושא הזה לגמרי....

יש לי עוד בעיה... התקנתי לפני תקופה את microsoft visual studio 2005 והשבוע ניסיתי להפעיל אותה אחרי תקופה שלא השתמשתי בה ומשהו שם לא עובד!!! אני מנסה לפתוח פרוייקט אחרי שאני בוחרת פרוייקט ורושמת שם הוא לא פותח לי אותו.... מה אני עושה?

תודה מראש.

חזרה לתחילת העמוד הצג את כרטיס החבר של el11 חפש הודעות אחרות של el11 בקר בדף הבית של el11
 
לוק
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 October 2007 בשעה 18:26 | IP רשוּם
ציטוט לוק

1. העמסת אופרטורים פרושה לממש פעולות אריתמטיות אונריות או בינאריות בין אובייקטים
דומים ושונים. לדוגמה:
נאמר שיש לך שתי מחלקות שונות  Car, LicencePlate.
למחלקות אלה יש שתי אובייקטים שונים (מופעים חיים).

;Car c1
;LicencePlate p1

פעולה הגיונית בינהם תהיה פעולת צירוף שיכולה להתפרש כאופרטור +:

;c1+p1

נצפה שלאחר פעולה זו מס' הרישוי יתעדכן לתוך אובייקט המכונית, לכן נתצטרך לממש 
פונקציה מיוחדת במחלקה Car שתאפשר פעולה זו, כלומר לבנות אופרטור אונרי המקבל
מס' רישוי ומחזיר כלום:

(void Car::operator+(LicencePlate plate
}
מימוש הפעולות הרצויות //     
{

במקרה אחר נרצה לאפשר את הכתיבה הבאה:

;Car c2 = c1 + p1

באופן זה (לדוגמה) נרצה להחזיר את תוצאת החיבור בין c1 ל-p1 לתוך c2 מבלי לשנות את
c1, לכן נבנה את האופרטור כך:


(Car Car::operator+(LicencePlate plate
}
מימוש הפעולות הרצויות: בניית אובייקט זמני c_tmp //     
 העתקת כל הנתונים אליו + מס' הרישוי והחזרתו.       /     
;return c_tmp     
{

ישנם אופרטורים הממומשים באופן אוטמטי כגון האופרטור =  אופרטור זה בין שני אובייקטים,
מעתיק ביט ביט את כל הנתונים מאובייקט אחד לשני, אלא אם כן בונים אחד אחר.

2. לגבי השאלה הזו כדאי שתוסיפי עוד פירוט לגבי הבעיה כי:
א. היא יכולה להיגרם מכמה סיבות. 
ב. התיאור "פרוייקט לא נפתח" לא ברור. (לפחות לי).

חזרה לתחילת העמוד הצג את כרטיס החבר של לוק חפש הודעות אחרות של לוק בקר בדף הבית של לוק
 
לוק
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 12 October 2007 בשעה 20:11 | IP רשוּם
ציטוט לוק

רק תיקון קטן...

כמובן שני האופרטורים שהצגתי הם בינאריים, כלומר פועלים בין שני אובייקטים.
דוגמה לאופרטור אונרי: --Object, Object! וכו'.
חזרה לתחילת העמוד הצג את כרטיס החבר של לוק חפש הודעות אחרות של לוק בקר בדף הבית של לוק
 
el11
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 13 October 2007 בשעה 19:30 | IP רשוּם
ציטוט el11

אחלה תודה!!!!

אני פשוט אתקין את התוכנה מחדש וזהו... כנראה שמחקתי משהו בטעות.

חזרה לתחילת העמוד הצג את כרטיס החבר של el11 חפש הודעות אחרות של el11 בקר בדף הבית של el11
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה