Вызов функции (C++)
Оператор вызова функции, вызываемый с помощью скобок, является оператором.
primary-expression ( expression-list )
Заметки
В этом контексте первичный-выражение первый операнд. expression-list, возможно, пустой список аргументов, второй операнд.Оператор вызова функции используется для операций, которые требуют нескольких параметров.Это работает, поскольку expression-list список вместо однооперандного.Оператор вызова функции должен быть функцией-членом нестатические.
Оператор вызова функции перегружен, не изменяет как функций; вместо этого он изменяет интерпретироваться как оператор применяется к объектам данного типа класса.Например, следующий Код обычно является не имеет смысла:
Point pt;
pt( 3, 2 );
При наличии подходящего перегруженный оператор вызова функции, однако этот синтаксис может использоваться для смещения x координата 3 единиц и y координата 2 единиц.Следующий Код демонстрирует такое определение:
// 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 );
}
Обратите внимание, что оператор вызова функции применяет к имени объекта, а не имя функции.