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

נושא: שאלה|נושא: העמסת אופרטורים.

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


הצטרף / הצטרפה: 26 May 2008
מדינה: Israel
משתמש: מנותק/ת
הודעות: 6
נשלח בתאריך: 27 May 2008 בשעה 14:18 | IP רשוּם
ציטוט RanyAlbeg

//C++

אהלן ,

אני מנסה לבצע העמסה עבור האופרטור >> , וכהתחלה אני מנסה לממש את הפונקציה במחלקה Point.

המטרה של האופרטור היא להדפיס את הנקודה בפורמט (x,y) .

כותרת הפונקציה שלי היא

קוד:
friend 0stream& operator<<(ostream& out,Point& p)

והיא מוגדרת כגלובלית במחלקה .

אם כך , חשבתי שהיה נכון לממש את הפונקציה כך :

קוד:
0stream& operator<<(ostream& out,Point& p)
{
  out<<"("<<p._x<<","<<p._y<<")";
  return out;
}

אבל כנראה שלא. נאלצתי להשתמש בפונקציות get עבור המשתנים הפרטיים x_ ו- y_

המציינים קוארדינטות של נקודה.ז"א כך :

קוד:
0stream& operator<<(ostream& out,Point& p)
{
  out<<"("<<p.getX()<<","<<p.getY()<<")";
  return out;
}

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

אשמח אם מישהו יסביר את הטעות שלי.

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 27 May 2008 בשעה 20:56 | IP רשוּם
ציטוט shoshan

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

ואגב, למה בטיפוס החזרה ה-OStream עם O גדולה ?


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
RanyAlbeg
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 26 May 2008
מדינה: Israel
משתמש: מנותק/ת
הודעות: 6
נשלח בתאריך: 28 May 2008 בשעה 11:56 | IP רשוּם
ציטוט RanyAlbeg

זה לא o גדול זה אפס. סתם בלבול בגלל שהם קרובים.

הוא אומר שאין לו גישה למשתנים הפרטיים במחלקה Point :

קוד:
error C2248: '_x' : cannot access private member declared in class 'Point'

בדומה עבור המשתנה הפרטי y_

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 28 May 2008 בשעה 22:23 | IP רשוּם
ציטוט shoshan

ואת זה שהוא friend הכרזת במחלקה Point ? זה אמור לעבוד...מוזר...אולי תחפש דוגמאות אונליין...

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
RanyAlbeg
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 26 May 2008
מדינה: Israel
משתמש: מנותק/ת
הודעות: 6
נשלח בתאריך: 29 May 2008 בשעה 19:18 | IP רשוּם
ציטוט RanyAlbeg

כן עשיתי הכרזה כזאת בדיוק שורה לאחר פתיחת המחלקה , עוד לפני private ו public למיניהם.
חזרה לתחילת העמוד הצג את כרטיס החבר של RanyAlbeg חפש הודעות אחרות של RanyAlbeg
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 29 May 2008 בשעה 23:22 | IP רשוּם
ציטוט shoshan

זה מאוד מוזר אם ככה...

אם אתה רוצה reference יש פה:

http://www.devarticles.com/c/a/Cplusplus/C-plus-Tricks-of-the-Trade:-Friend-Functions/2/


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
RanyAlbeg
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 26 May 2008
מדינה: Israel
משתמש: מנותק/ת
הודעות: 6
נשלח בתאריך: 30 May 2008 בשעה 13:10 | IP רשוּם
ציטוט RanyAlbeg

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

יום טוב.

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

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

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

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