title: Overloading operators with non-member functions
body: <p>The answer to this question seems to escape me, but how do you go about overloading with non-member functions.  Do you just create a program level function and where ever the prototype (or definition) exists the operator is overloaded for that class type?</p>