פורסם 2009 במאי 1116 שנים חברים.יש לי מחלקה שנקראת "גרף". מכילה רשימת קשתות ורשימת קודקודים.עכשיו אמרו לי ליצור CTOR שמקבל מחרוזת ומאתחל את הגרף בהתאם. עשיתי את זה הכל טוב ויפה.עכשיו אמרו לי לעשות העמסת אופרטור של קלט << לגרף שיקבל מחרוזת ויאתחל את הגרף.ההכרזה במחלקה על הפונקציה היא זו:friend istream& operator >> (istream & in, Graph & x);עבור פלט, לא הייתה לי בעיה. שלחתי ostream& ביחד עם הגרף ושניהם ואז עשיתי פלט עם הostream הזה.כעת עבור קלט, אני לא בדיוק יודע כיצד לשחרר את המחרוזת שנמצאת בתוך ה istream&.האם מספיק לי (בהנחה שנשלח לי istream & in ) לכתוב את זה:char str[500];in>>str;ואז בSTR יש לי את המחרוזת שהייתה בin ואני יכול להשתמש בה כרצוני?(בהנחה ואני יודע שהמחרוזת היא גג 500 תווים)
פורסם 2009 במאי 1216 שנים מחבר תודה רבה על העזרה שניצל.עוד שאלה קטנטנה. כדי לעשות העמסת אופרטור ל- []. איך אני אמור לעשות את זה?השורה:const char * operator [] (int x){} נותנת לי 2 ארורים:478 C:\Users\Ziv\Desktop\æéå\îåðçä òöîéí\targ02\class02.cpp `const char* operator[](int)' must be a nonstatic member function 478 C:\Users\Ziv\Desktop\æéå\îåðçä òöîéí\targ02\class02.cpp `const char* operator[](int)' must take exactly two arguments המתודה אמורה לקבל int ולהחזיר מחרוזת, מה אומרות הודעות השגיאה?המתודה נמצאת בציבורי.
פורסם 2009 במאי 1216 שנים תעלה את הקוד המלא.(ותשתמש בטג קוד, לא בהצמדה שמאלה)יכול להיות שכתבת את הפונקציה מחוץ לקלאס שלך...?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.