Wywołanie funkcji (C++)
Wywołanie funkcji operatora, wywoływane za pomocą nawiasów, jest operator binarny.
primary-expression ( expression-list )
Uwagi
W tym kontekście wyrażenie podstawowego jest pierwszy operand i Lista wyrażeń, ewentualnie pustą listę argumentów, jest drugi operand.Dla operacji, które wymagają liczba parametrów używany jest operator wywołania funkcji.To działa, ponieważ Lista wyrażeń jest wykaz zamiast jeden operand.Wywołanie funkcji operatora musi być funkcja niestatycznego członka.
Operator wywołanie funkcji przeciążony, nie powoduje modyfikacji, w jaki sposób funkcje są wywoływane; raczej modyfikuje sposób operator jest interpretowane, gdy jest stosowany do obiektów typu danej klasy.Na przykład poniższy kod zazwyczaj byłoby bez znaczenia:
Point pt;
pt( 3, 2 );
Biorąc pod uwagę operator wywołanie funkcji zastąpionej właściwe, jednak ta składnia może służyć do przesunięcia x koordynowania jednostek 3 i y koordynować 2 jednostki.Poniższy kod przedstawia definicję takich:
// function_call.cpp
class Point
{
public:
Point() { _x = _y = 0; }
Point &operator()( int dx, int dy )
{ _x += dx; _y += dy; return *this; }
private:
int _x, _y;
};
int main()
{
Point pt;
pt( 3, 2 );
}
Należy zauważyć, że operator wywołanie funkcji jest stosowane do nazwę obiektu, a nie nazwę funkcji.