Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Что такое "функтор"?


Автор: chipset 16.4.2005, 12:11
Коротко говоря, функтор это просто класс перегружающий оператор "()" с поведением функции и обьекта одновременно.
К примеру:
Код

class functor
{
public:
    int i;
        int operator()(int a, int b)
    {
  return a+b+i;
    }//перегрузили оператор ()
};


Теперь возможно следующее использование:

Код

functor func;
func.i = 2;//ведём себя как обьект
cout<<func(2,3)<<endl;//ведём себя как функция

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)