Pourquoi l'opérateur d'affectation doit-il renvoyer une référence à l'objet?

Je suis en train de faire une révision de mon C++, et je fais face à la surcharge d'opérateur à la minute, plus précisément le "="(affectation) de l'opérateur. J'étais à la recherche en ligne et est venu à travers de multiples sujets de discussion. Dans mes notes, j'ai tous mes exemples pris comme quelque chose comme

class Foo
{
    public:  
        int x;  
        int y;  
        void operator=(const Foo&);  
};  
void Foo::operator=(const Foo &rhs)
{
    x = rhs.x;  
    y = rhs.y;  
}

Dans toutes les références que j'ai trouvé en ligne, j'ai remarqué que l'opérateur renvoie une référence à l'objet source.
Pourquoi est-ce la bonne façon de retourner une référence à l'objet, par opposition à la rien du tout?

source d'informationauteur maccard