העמסת אופרטור CIN למחלקה. C++. - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

העמסת אופרטור CIN למחלקה. C++.


pain_killer12

Recommended Posts

חברים.

יש לי מחלקה שנקראת "גרף". מכילה רשימת קשתות ורשימת קודקודים.

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

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

ההכרזה במחלקה על הפונקציה היא זו:

friend istream& operator >> (istream & in, Graph & x);

עבור פלט, לא הייתה לי בעיה. שלחתי ostream& ביחד עם הגרף ושניהם ואז עשיתי פלט עם הostream הזה.

כעת עבור קלט, אני לא בדיוק יודע כיצד לשחרר את המחרוזת שנמצאת בתוך ה istream&.

האם מספיק לי (בהנחה שנשלח לי istream & in ) לכתוב את זה:

char str[500];
in>>str;

ואז בSTR יש לי את המחרוזת שהייתה בin ואני יכול להשתמש בה כרצוני?

(בהנחה ואני יודע שהמחרוזת היא גג 500 תווים)

קישור לתוכן
שתף באתרים אחרים

תודה רבה על העזרה שניצל.

עוד שאלה קטנטנה. כדי לעשות העמסת אופרטור ל- []. איך אני אמור לעשות את זה?

השורה:

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 ולהחזיר מחרוזת, מה אומרות הודעות השגיאה?

המתודה נמצאת בציבורי.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...