Bonjour,
Si on définit une classe
Avec la redéfinition de l'opérateur= comme précédent, il est donc possible d'effectuer l'opération suivante:
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); } };
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!)
Partager