函数调用(C++)

函数调用运算符,调用使用括号,是二元运算符。

primary-expression ( 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 );
}

请注意函数调用运算符应用于对象,而不是名称功能。

请参见

参考

运算符重载