Поделиться через


Вызов функции (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 );
}

Обратите внимание, что оператор вызова функции применяет к имени объекта, а не имя функции.

См. также

Ссылки

Перегрузка операторов