עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C++ friend function

Featured Replies

פורסם

הצהרתי על פונקציות חברות ע"מ להשתמש באופרטורים >> ו<< לקלוט מחרוזות:


friend ostream& operator<<(ostream &os, String&);
friend istream& operator>>(istream &is, String&);

וממשתי:


ostream & operator<<(ostream&os, String&s)
{
os<<s;
return os;
}

istream & operator>>(istream&is, String&s)
{
is>>s;
return is;
}

ואני מקבלת כל מיני הערות מוזרות לדוגמא:


'ostream' : 'friend' not permitted on data declarations
'ostream' : missing storage-class or type specifiers
'ostream' : unable to resolve function overload

מה הבעיה?????

פורסם

os<<s;

תנסי אולי לעשות

os<<s.str;

את מנסה להדפיס בידיוק את מה ששלחת. כנל עבור הISTREAM.

וכדאי לתת CONST STRING&S

פורסם

הממ

יעזור אם תכתבי פה את כל הקוד שלך. משהו אומר לי שהצהרת על הפונקציה במקום לא טוב...

פורסם

נראה לי שהבעיה כאן:

ostream & operator<<(ostream&os, String&s)

{

os<<s;

return os;

}

וההצהרה צריכה להיות בתוך המחלקה של String.

פורסם
  • מחבר

תודה. שכחתי לרשום ; using namespace std

:hat:

<האם יש בעיה לרשום פלט בקובץ ההצהרה??? לדוגמא פונקציה שמחפשת איבר ולא מוצאת תוציא פלט not found>

פורסם

יש כאן משהו שאני לא מבין...

איפה הצהרת על FRIENDS? באיזו מחלקה?

בקשר לשאלה שלך - בדרך כלל מפרידים בין ההצהרות למימוש(אלא אם זה פונ של שורות בודדות שלא אכפת לך לשים אותה כINLINE).

בנוסף אם את רוצה לרשום שהאיבר לא קיים, כדאי לעשות את זה מחוץ למתודות. כלומר, הפונ שלך תחזיר את האיבר במקרה שהוא קיים ונמצא, אחרת, יחזיר NULL. מי שקרא למתודה יבדוק אם זה NULL, ואם כן, ידפיס שהאיבר לא קיים.

פורסם

זו הגדרה רקורסיבית, התוכנית תיכנס ללולאה אינסופית

פורסם

בידיוק.

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.