函数调用运用()也可以重载。
由于重载后的使用方法非常像函数的调用,因此称为仿函数。
仿函数没有固定写法,非常灵活。
#include<iostream>
using namespace std;
class MyPrint {
public:
void operator()(string test) {
cout << test << endl;
}
};
class MyAdd {
public:
int operator()(int num1, int num2) {
return num1 + num2;
}
};
void test() {
MyPrint myPrint;
MyAdd myAdd;
myPrint("hello world");
int res = myAdd(1, 2);
cout << res << endl;
//匿名函数对象
cout << MyAdd()(1, 2) << endl;
}
int main() {
test();
system("pause");
return 0;
}