OOP, שאלה בהעמסת פונקציות

אם יש לי מחלקת בסיס person ויש לי מחלקה שנגזרת ממנה worker יש לי בתוך המחלקה person את הפונקציה print ואני מגדיר אותה כך : במחלקה person void print ()const { cout<<"im person} ובמחלקה worker void print ()const { cout<<"im worker} שאלתי היא : מה ההבדל אם אני שם const בסוף ההצהרה ואם אני לא שם את ה const למה הוא משמש ומה הוא יכול לגרום ?

אז ככה:

א. const משמעו שבמתודה זו אינך הולך לשנות את ה-this , כלומר לשנות את האובייקט הספציפי עליו אתה עובד. ב. מסקנה מספר 1: אם זו מתודה סטטית (==אין לה this) אין מה לדבר בכלל על const,לעניות דעתי.(אבל זה ממש לא קשור לשאלה שלך...) ג.לענייני overloading שים לב שה-const הוא חלק מחתימת הפונקציה ,אם איני טועה , ולכן אם תשכח באחת הגירסאות של הפונקצייה לשים const - לא עשית overloading בעצם. בהצלחה!!!

There's more

There's more : const at the end of the method means that you can not change -this which means that const instances of that class can activate only const methods, while non const instances can activate all methods of the class
עבור לעמוד
בחזרה לפורום
כרגע בפורום זה: אין משתמשים רשומים
עבור לפורום:
תיכנות
בחר
בחר