函式呼叫 (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 );
}
請注意函式呼叫運算子已套用至物件的名稱,不是函式的名稱。