Appel de fonction (C++)
L'opérateur d'appel de fonction, appelée en utilisant des parenthèses, est un opérateur binaire.
primary-expression ( expression-list )
Notes
Dans ce contexte, l'expression primaire est le premier opérande, et l'expression-liste, une liste éventuellement vide d'arguments, est le deuxième.L'opérateur d'appel de fonction est utilisé pour les opérations nécessitant un certain nombre de paramètres.Cela fonctionne parce que l'expression-liste est une liste au lieu d'un seul opérande.L'opérateur d'appel de fonction doit être une fonction membre non statique.
L'opérateur d'appel de fonction, une fois surchargé, ne change pas la manière dont les fonctions sont appelées ; en effet, il remplace comment l'opérateur doit être interprète appliqué aux objets d'un type donné de classe.Par exemple, le code suivant est généralement sans signification :
Point pt;
pt( 3, 2 );
Étant donné un opérateur d'appel de fonction surchargée approprié, toutefois, cette syntaxe peut être utilisée pour compenser x 3 unités et y de 2 unités.Le code suivant illustre une telle définition suivante :
// 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 );
}
notez que l'opérateur d'appel de fonction est appliqué au nom d'un objet, pas le nom d'une fonction.