You can call a class constructor with a single argument to convert from the argument type to the type of the class.
At most one user-defined conversion, either a constructor or conversion function, is implicitly applied to a class object. When you call a constructor with an argument and you have not defined a constructor accepting that argument type, only standard conversions are used to convert the argument to another argument type acceptable to a constructor for that class. Other constructors or conversions functions are not called to convert the argument to a type acceptable to a constructor defined for that class.
Example of Conversion by
Constructor
Conversion Functions
Constructors and Destructors
Overview
Constructors
User-Defined Conversions