Bonjour,

Supposons que j'ai une classe Money.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
class Money
{
public:
  explicit Money(double valeur);
  operator double();
}
J'ai utilisé le mot clé "explicit" pour la première conversion. Ainsi, l'utilisateur doit effectuer ceci pour que son programme compile:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Money monMoney = (Money)5.0;
Cependant, le compilateur ne veut pas que je mette le mot clé "explicit" devant l'opérateur cast. L'utilisateur peut donc faire ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
double valeur = monMoney;
Y a-t-il un moyen de forcer l'utilisateur à écrire ceci pour ne pas générer d'erreur de compilation:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
double valeur = (double)monMoney;
Merci!!!