Conversion Operators
Conversions from user types are defined by conversion operators; conversions to user types are defined by using constructors.
operator double (const rational & val) { return val.numerator() / (double) val.denominator();}
rational r (2, 3); double d;d = 3.14 * double(r); // cast converts fraction to double