1、定义:重载了operrator()的类的一个实例。(operator()里的()是方法名的一部分)
直白的解释:类的内部含有operator()方法的类的对象就是函数对象,operator()方法的返回值和参数类型可以自由设置,
该类的对象可以当做函数使用。
2、具体案例
#include <iostream>
using namespace std;
class gt_n{
int value;
public:
gt_n(int val):value(val){}
bool operator()(int n){
return n>value;
}
};
int main() {
gt_n f(4); // f(4)表示定义函数对象
cout<<f(3)<<endl; // f(3)表示调用f,参数是3。 f(3)的返回结果是0(false)
cout<<f(5)<<endl; // f(4)的返回结果是1(true)
return 0;
}
参考资料
《C++编程思想》