Zuweisung
Der Zuweisungsoperator (=) ist, bezieht sich ausschließlich und ein binärer Operator.Die Deklaration ist in jedem anderen binären Operator identisch mit den folgenden Ausnahmen:
Es muss eine nicht statischen Memberfunktion sein.Kein operator= Nichtmitglieds kann als Funktion deklariert werden.
Er wird nicht von abgeleiteten Klassen geerbt.
Eine standardmäßige operator=-Funktion kann für Klassentypen vom Compiler generiert werden, wenn keine vorhanden ist.(Weitere Informationen zu standardmäßigen operator=-Funktionen finden Sie unter Memberwise Initialisierung und Zuweisung).
Im folgenden Beispiel wird veranschaulicht, wie ein Zuweisungsoperator deklariert:
// 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()
{
}
Beachten Sie, dass das angegebene Argument die rechte Seite des Ausdrucks ist.Der Operator gibt das Objekt zurück, um das Verhalten des Zuweisungsoperators beizubehalten, der den Wert des linken Rands zurück, nachdem die Zuweisung abgeschlossen ist.So kann z. B. Anweisungen schreiben:
pt1 = pt2 = pt3;