函数对象有关问题? int operator()(int i) , 请进, 多谢

函数对象问题?? int operator()(int i) , 请进, 谢谢
下面是一个函数对象的   例子,     我不太懂,     请问,int   operator()(int   i)
        {
          return     Act(i);
}   这个函数有什么作用??2.   operator()到底是什么呢   ?       请阁下解释,     感激!  
class   Action
{
public:
        int   operator()(int   i)
        {
          return     Act(i);

        }

        virtual   int   Act(int   i)   =   0;
};

class   Drink   :   public   Action
{
        int   Act(int   i)
        {

              return   i+107;
        }
};



------解决方案--------------------
这是函数调用运算符重载

Drink d;
int v = d(10);
ShowMessage(v); // v = 117