是一个重载函数调用操作符的类,其实例化对象称为函数对象,也叫做仿函数
特点:
- 函数对象在使用时,像普通函数一样
- 函数对象可以有自己的状态
- 函数对象可以作为参数传递
class myadd {
public:
myadd() {
this->count = 0;
}
int operator()(int a,int b) {
count++;
return a + b;
}
int count; //成员属性
};
void test() {
myadd add;
//1.像普通函数一样使用
cout<<add(10, 10)<<endl;
cout << add(10, 10) << endl;
cout << add(10, 10) << endl;
//2.可以拥有自己的状态
cout << "add()函数对象的调用次数为:" << add.count << endl;
}