nIf the first operand
is not an object of the class in all usages: (e.g., + )
äoverload it as a friend
non-member
nAs a non-member, if the
operands are not modified by the
operator (and are objects of a class)
äthe arguments should be
const references
nIf the first operand is always an
object of the class: (+=)
äoverload it as a
member
nAs a member, if the
operator does not modify the current
object (i.e., data members are not modified)
äoverload it as a const member