נשלח בתאריך: 27 May 2008 בשעה 14:18 | | IP רשוּם
|
|
|
|
//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.
אשמח אם מישהו יסביר את הטעות שלי.
|