Eviter une syntaxe trompeuse.
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
Code:
1 2 3
|
int j = 3;
MonTypeNumerique MonNombre = j; |
(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.)
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
Code:
1 2 3
|
MonTypeNumerique MonNombre(j); |
ou peut-être
Code:
1 2 3
|
MonTypeNumerique MonNombre = MonTypeNumerique(j); |
J'aimerais savoir s'il est possible d'empêcher la syntaxe
Code:
1 2
|
MonTypeNumerique MonNombre = j; |
Merci d'avance pour les réponses.
M.