Bonsoir.
Supposons qu'on ait défini une classe MonTypeNumerique qui admette un constructeur de conversion à partir du type (intégré, mais peu importe) int.
L'utilisateur peut alors écrire des choses comme
(Si je ne me trompe, c'est le constructeur de conversion qui intervient dans cette syntaxe, une surdéfinition de l'opérateur = n'a rien à voir ici.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int j = 3; MonTypeNumerique MonNombre = j;
Bon, vous allez peut-être trouver ça futile, mais je n'aime pas la syntaxe de la seconde ligne du code ci-dessus, il me semble qu'elle risque de faire perdre de vue à l'utilisateur que les deux membres ne sont pas du même type.
J'aimerais donc mieux que l'utilisateur soit obligé d'écrire
ou peut-être
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MonTypeNumerique MonNombre(j);
J'aimerais savoir s'il est possible d'empêcher la syntaxe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MonTypeNumerique MonNombre = MonTypeNumerique(j);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MonTypeNumerique MonNombre = j;
Merci d'avance pour les réponses.
M.
Partager