לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי         אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 19-04-2015, 15:23
  תוכניתן תוכניתן אינו מחובר  
 
חבר מתאריך: 07.10.08
הודעות: 193
בקשר להעמסת אופרטורים CPP

הבנתי את רוב הנושא אבל יש כמה דברים שלא יושבים לי היטב ואשמח לעזרה
הדוגמא שעבדנו עליה זה מחלקה של המספר הרציונאלים(מכילה שדה "מונה" ושדה "מכנה")
אני יודע לעשות העמסה של +/גדול /כפול/שונה/++/--
יש לי בעיה עם COUT ועם =
הרי ידוע שאם a,b הם מופעים של המחלקה ניתן לעשות a=b ואז כל השדות יועתקו
ראינו את המימוש הבא
קוד PHP:
 const Rational&  Rational::operator=(const Rationalnum
{
   
this->mone num.mone;
   
this->mechane num.mechane;
   return *
this;


הבנתי שזה נועד שאוכל לעשות a=b=c=d וכו'
לא הבנתי את המימוש הנ"ל
את החלק
קוד PHP:
 Rational::operator=(const Rationalnum

הבנתי כמובן, זה מימוש של = שמשייך למחלקה Rational ושמקבל num מסוג Rational (יש עליו & כך שכל שינוי שנעשה עליו ישתנה גם בתוכנית) וישמור עליו עם קבוע כדי שלא נשנה אותו בטעות בפונקציה
אגב, למה יש את ה & אם יש את ה CONST , הרי גם ככה לא ניתן לשנות אותו?
האם כדי לחסוך את הבנאי?

והחלק שאני באמת לא מבין... מה זה const Rational&
מה זה אומר שהיא מחזירה התייחסות ל Rational ושזה קבוע... לא הבנתי



כמו כן מימוש של COUT
בהצרה כתבנו
קוד PHP:
 friend ostreamoperator<<(ostream&, Rational); 

ובמימוש
קוד PHP:
 ostreamoperator<<(ostreamoutRational num)
{
   
out << num.mone << '/' << num.mechane << endl;
   return 
out;


אני יודע מה זה מחלקה חברה(מחלקה שיש לה גישה למשתנים פרטיים של מחלקה אחרת בCPP יש את זה כמובן)
לא הבנתי כ"כ את ההצהרה והמימוש, אשמח להסבר
מה זה אומר שהיא מחזירה ostream&
והיא מקבלת ostream& out
מה זה בידיוק ה OUT הזה ואיך הוא משמש בפונקציה ככה
קוד PHP:
 out << num.mone << '/' << num.mechane << endl

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

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 12:53

הדף נוצר ב 0.11 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2019 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר