העמסת אופרטור הזזה

העמסת אופרטור הזזה

נניח שאני מעוניין לבצע פעולה כזאת :
2<<x

כאשר x הוא אובייקט של מחלקה X.

האם כדי להעמיס אופרטור כזה יש לבנות פונקציה חברה מחוץ למחלקה X שמקבלת כפרמטים אובייקט x ופרמטר int , או שאפשר גם לבנות פונקציה בתוך המחלקה שמקבלת רק כפרמטר אובייקט x ? או שמא אי אפשר לעשות את האחרון בגלל שה-2 הוא מצד שמאל?
 

BravoMan

Active member
"כדאי" לא קשור לעניין.

כשאתה מעמיס אופרטור כמתודה של מחלקה, המחלקה בהכרח תהיה הפרמטר השמאלי באופרטור המועמס.
&nbsp
לכן, במקרה הזה אתה חייב פונקציה.
&nbsp
אבל הסברתי לך את זה כבר 10 פעם לפחות:
הפונקציה הזו לא חייבת להיות חברה!
אין שום קשר בין העמסת אופרטורים לפונקציות חברות.
 
למעלה