I delegate the actual conversion to the copy constructor. A conversion from U to T must be defined, as shown by the example in int to float and int to double. The same applies to any user defined conversion.