Funktionsaufruf (C++)
Im Funktionsaufrufoperator aufgerufen, mit der Klammern, ist ein binärer Operator.
primary-expression ( expression-list )
Hinweise
In diesem Zusammenhang ist der erste Operand primärer Ausdruck , Ausdruckund eine Listemöglicherweise leere Liste von Argumenten, ist der zweite Operand.Im Funktionsaufrufoperator wird für Vorgänge verwendet, die einige Parameter erfordern.Dies funktioniert, da eine Liste Liste Ausdruck anstelle eines einzigen Operanden ist.Im Funktionsaufrufoperator muss eine nicht statischen Memberfunktion sein.
Im Funktionsaufrufoperator, wenn er überladen wird, ändert sich nicht, wie Funktionen aufgerufen werden. Er ändert sich nicht, wie der Operator interpretiert werden soll, wenn er auf Objekte eines angegebenen Klassentyps angewendet wird.Beispielsweise wird der folgende Code normalerweise ohne Bedeutung sein:
Point pt;
pt( 3, 2 );
Wenn ein entsprechender überladener Aufrufoperator kann jedoch diese Syntax verwendet werden, um die x-Koordinate und die y-Koordinate 3 Einheiten Offset 2 Einheiten.Im folgenden Code wird eine solche Definition auf:
// 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 );
}
Beachten Sie, dass der Aufrufoperator angewendet auf den Namen eines Objekts, nicht der Name einer Funktion.