cpp 4 operator overloading conversions friend inline