The operator can be internal or external to the class. However, there's two things you need to note:
1) The internally overloaded operator has precedence over the externally overloaded operator.
2) The externally overloaded operator cannot access private members, unless it's a friend.