Bonjour,

Si on définit une classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
class nouveau_type
{
  private:
      int m_valeur;
  public:
   nouveau_type& operator=(nouveau_type const &val)
  {
    this->m_valeur=val;
    return(*this);
  }
};
Avec la redéfinition de l'opérateur= comme précédent, il est donc possible d'effectuer l'opération suivante:

nouveau_type A = 7; //équivalent a A.m_valeur = 7;

J'en arrive donc a ma question===>
est il possible de faire l'inverse?

cad redéfinir l'opérateur= "standard"(agissant sur les types int/float/short/etc)...de telle sorte que le compilateur comprenne que

(int = nouveau_type) est équivalent à (int = nouveau_type.m_valeur)

(je pense à une redéfinition comme pour l'opérateur std::operator<< )

Merci d'avance de vos idées!

(Pour l'instant j'utilise une fonction "to_float" qui me retourne la valeur, mais ca complique la prog et la lisibilité, c'est quand meme plus joli un "=" transparent!)