函数调用(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 );
}
请注意函数调用运算符应用于对象,而不是名称功能。