Pour définir une conversion de A vers B :
- Soit on défini dans B un constructeur : B(A const &a);
- Soit on défini dans A un opérateur de conversion : B operator B();
La deuxième solution est en général utilisée quand on n'a pas le droit de toucher au code de B (ou quand B n'est pas une classe...), ce qui n'est pas ton cas.
Je persiste donc à préconiser le constructeur templaté.
Partager