Operator Overloading


Why overload operators?

 

Operators that cannot be overloaded

Operators that shouldn't be overloaded

Reasonable operators to overload

Can't

Keep in mind


Conventions

(binary) arithmetic operators:

assignment operators:

relational operators:

 


Member vs. non-member

Member function

 

 

 

 

 

 

Non-member function

 

 

 

 

 

 

Consider:

 

 

 

 

 

 

 

 

Must be (non-static) member functions:

 

Use non-member if: