Przypisanie
Operator przypisania (=) jest ściśle mówiąc, operatorem binarnym.Jego deklaracja jest identyczna z innym operatorem binarnym, z następującymi wyjątkami:
Musi być niestatycznym elementem członkowskim funkcji.Żadne operator= nie mogą być deklarowane jako funkcja nieczłonkowska.
Nie jest dziedziczona przez klasy pochodne.
Domyślnie funkcja operator= może być generowane przez kompilator dla typu klasy, jeśli taki nie istnieje. (Aby uzyskać więcej informacji dotyczących domyślnych funkcji operator=, zobacz Przypisanie i inicjowanie elementów członkowskich.)
Poniższy przykład ilustruje sposób deklarowania operatora przypisania:
// 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()
{
}
Należy zauważyć, że argument podany jest po prawej stronie wyrażenia.Operator zwraca obiekt, aby zachować zachowanie operator przypisania, który zwraca wartość po lewej stronie, gdy przypisanie jest ukończone.Umożliwia to pisanie instrukcji takich jak:
pt1 = pt2 = pt3;