共用方式為


函式呼叫 (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 );
}

請注意函式呼叫運算子已套用至物件的名稱,不是函式的名稱。

請參閱

參考

運算子多載