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; }
相关文章推荐
- ISO C++ operator+ 重载方法
- 关于重载C++中String operator +和+=中内存泄漏
- C++操作符重载手册 C++ Operator Overloading
- C++ 工程实践(2):不要重载全局 ::operator new()
- 【C++语法】关于operator[]重载的注意点
- C++重载operator的示例
- c++ operator重载的例子
- C++重载operator的示例
- C++ operator overload -- 操作符重载
- C++重载operator的示例
- C++ operator new 重载(两个参数)
- C++里,我们通过在一个类中重载括号运算符的方法使用仿函数
- C++重载类型转换操作符(type cast operator
- c++学习记录:operator = 重载
- (未完成)C++ 重载赋值运算函数 operator =
- 走进C++程序世界-----operator new delete 重载
- C++重载operator的示例
- C++语法基础--重载operator->箭头操作符
- C++ 工程实践(2):不要重载全局 ::operator new()
- C++重载operator的示例[转]