Chamada de função (C++)
O operador de chamada de função, chamado usando parênteses, é um operador binário.
primary-expression ( expression-list )
Comentários
Nesse contexto, principal-expressão é o primeiro operando, e lista de expressão, possivelmente vazia, lista de argumentos, é o segundo operando.O operador de chamada de função é usado para operações que exigem um número de parâmetros.Isso funciona porque lista de expressão é uma lista em vez de um único operando.O operador de chamada de função deve ser uma função de membro não estático.
O operador de chamada de função, quando sobrecarregado, não modificar, como as funções são chamadas; em vez disso, ele modifica como o operador é para ser interpretados quando aplicados a objetos de um tipo de determinada classe.Por exemplo, o seguinte código normalmente seria sem sentido:
Point pt;
pt( 3, 2 );
Devido a um operador de chamada de função sobrecarregada apropriado, no entanto, essa sintaxe pode ser usada para compensar a x 3 unidades de coordenadas e a y 2 unidades de coordenadas.O código a seguir mostra a tal definição de:
// 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 );
}
Observe que o operador de chamada de função é aplicado ao nome de um objeto, não o nome de uma função.