C++ Opérateur d'assignation


Exemple

L'opérateur d'affectation est lorsque vous remplacez les données par un objet déjà existant (précédemment initialisé) par d'autres données d'objet. Prenons ceci comme exemple:

// Assignment Operator
#include <iostream>
#include <string>

using std::cout;
using std::endl;

class Foo
{
  public:
    Foo(int data)
    {
        this->data = data;    
    }
    ~Foo(){};
    Foo& operator=(const Foo& rhs)
    {
            data = rhs.data; 
            return *this;
    }

    int data;
};

int main()
{
   Foo foo(2); //Foo(int data) called
   Foo foo2(42);
   foo = foo2; // Assignment Operator Called
   cout << foo.data << endl; //Prints 42
}

Vous pouvez voir ici que j'appelle l'opérateur d'assignation lorsque j'ai déjà initialisé l'objet foo . Ensuite, foo2 à foo . Toutes les modifications à afficher lorsque vous appelez cet opérateur de signe égal sont définies dans votre fonction operator= . Vous pouvez voir une sortie exécutable ici: http://cpp.sh/3qtbm