עבור לתוכן

בויזואל סטודיו בC++, איך אפשר להריץ פונקציית void על member של class?

Featured Replies

פורסם

שלום, יש לי קובץ rectangle.h שמכיל את הגדרות המלבן (הבנאים) והצהרות על פונק', יש לי rectangle.cpp שמכיל את המימוש של הפונקציות, ויש לי קובץ main שמריץ את הכל. בקובץ main אני רוצה שתהיה פקודה:

cout << "The perimetr is:" << rect.getPerimeter() << endl;

הפונקציה עצמה של getperimetr היא מאוד פשוטה.. אבל לא משנה אם אני מגדיר אותה void או rectangle (ז"א שתחזיר עצם מסוג rectangle), הקומפילר מחזיר לי שגיאה, או שgetperimeter לא חלק מהממברים של rectangle (והיא כן) או שאי אפשר לעשות שינו מvoid לRECTANGLE. intianlizing"

פורסם

כדי שהקוד הנ"ל יעבוד לך. ()rect.getPerimeter צריכה להחזיר משהו שאפשר להדפיס אותו עם אופרטור >>. לפי השם של הפונקציה, נראה שהיא צריכה להחזיר היקף של מלבן, כלומר כנראה מספר מטיפוס float או double (או אולי שלם כלשהו אם הגדרת את המלבן במספרים שלמים בלבד).

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

פורסם
  • מחבר

היי

תודה רבה רבה על התגובה המהירה.

כרגע אני בעבודה אז לצערי אני לא יכול לבדוק את זה אבל להערכתי אכן זו הבעיה.. כי ניסית להגדיר את הפונקציה כvoid/rectangle שעל פי הבנתי באמת אי אפשר להדפיס עם אופרטור >>. אני יגיע לבית ויעדכן עם עבד.

תודה

פורסם

תנסה לחשוב קונספטואלית...

האם היקף הוא "כלום"? (void)

האם היקף הוא מרובע?

האם היקף הוא ערך מספרי?

אם הוא ערך מספרי אז הפונקציה צריכה להחזיר טיפוס נתונים שיכול לייצג את הערך הזה

פורסם
  • מחבר

היי

תודה זו באמת הייתה הבעיה (+ עוד בעיה אחרת, אבל לא קשור :) ).

ארכיון

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

דיונים חדשים