Partager via


Assignation

l'opérateur d'assignation (=) est, à proprement parler, un opérateur binaire.Sa déclaration est identique à tout autre opérateur binaire, avec les exceptions suivantes :

  • Ce doit être une fonction membre non statique.Aucun operator= ne peut être déclaré comme fonction non - membre.

  • Il n'est pas hérité par des classes dérivées.

  • Une fonction par défaut d' operator= peut être générée par le compilateur pour les types de classe s'il n'existe.(Pour plus d'informations sur les fonctions par défaut d' operator= , consultez l' Assignation et initialisation membre à membre.)

L'exemple suivant indique comment déclarer un opérateur d'assignation :

// assignment.cpp
class Point
{
public:
   Point &operator=( Point & );  // Right side is the argument.
   int _x, _y;
};

// Define assignment operator.
Point &Point::operator=( Point &ptRHS )
{
   _x = ptRHS._x;
   _y = ptRHS._y;

   return *this;  // Assignment operator returns left side.
}

int main()
{
}

notez que l'argument fourni est le côté droit de l'expression.L'opérateur retourne l'objet pour conserver le comportement de l'opérateur d'assignation, qui retourne la valeur du côté gauche après que l'assignation soit terminé.Cela permet aux instructions d'écriture telle que :

pt1 = pt2 = pt3;

Voir aussi

Référence

Surcharge d'opérateur