User Defined Type Convers.
Notice that this conversion function has no return type.
That is because the return type is implicitly specified
(other_type), since that is the type we are converting to.
The conversion function converts the current object into
the new type and returns the value.
The conversion function can be called either implicitly or
explicitly.
The name of the conversion function must be a single
identifier; therefore, for types that are not a single
identifier, a typedef must first be used to create a single
identifier.