Přiřazení
Operátor přiřazení (=) je přísně řečeno binární operátor.Jeho deklarace je stejná jako u ostatních binárních operátorů, s následujícími výjimkami:
Musí to být funkce nestatického členu.Žádný operator= nelze deklarovat jako nečlenskou funkci.
Není zděděn z odvozené třídy.
Výchozí funkce operator= může být vytvořena kompilátorem pro typy tříd, pokud žádná neexistuje. (Další informace o výchozích funkcích operator= naleznete v tématu Přiřazení a inicializace založené na výběru členů.)
Následující příklad ukazuje, jak deklarovat operátor přiřazení:
// 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()
{
}
Všimněte si, že zadaný argument představuje pravou stranu výrazu.Operátor vrací objekt pro zachování chování operátoru přiřazení, který vrací hodnotu levé strany po dokončení přiřazení.To umožňuje psaní příkazů jako například:
pt1 = pt2 = pt3;