您的位置:首页 > 编程语言 > C语言/C++

C++中重载operator( )构成仿函数

2017-03-17 08:58 351 查看
/*
* 仿函数(functor)就是使用起来像函数一样的东西。
* 如果针对某个类进行operator( )重载,它就成为一个仿函数。
* 至于要成为一个可配接的仿函数,还需要一些额外的努力。
*/

#include <iostream>
using namespace std;

template < typename T >
struct plus
{
T operator( )( const T& x, const T& y ) const
{
return x + y;
}
};

template < typename T >
struct minus
{
T operator( )( const T& x, const T& y ) const
{
return x - y;
}
};
int main( )
{
minus< int > minusObj;
cout << minusObj( 3, 10 ) << endl;

plus< int > plusObj;
cout << plusObj( 30, 10 ) << endl;

cout << plus< int >( )( 34, 25 ) << endl;
cout << minus< int >( )( 12, 25 ) << endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 仿函数