User-defined conversions (C++ only)

User-defined conversions allow you to specify object conversions that are implicitly applied by the compiler, in addition to standard built-in type conversions. User-defined conversions can be applied for conversion of initializers, functions arguments, function return values, expression operands, expressions controlling iteration, selection statements, and explicit type conversions.

Note: C++11 begins You can declare user-defined conversions as deleted functions. For more information, see Deleted functions (C++11).C++11 ends