- 函数调用运算符重载()也可以重载
- 由于重载后使用的方式非常像函数的调用,因此称为仿函数
- 仿函数没有固定写法,非常灵活
#include<iostream>
using namespace std;
class Myprint {
public:
void operator()(string text)
{
cout << text << endl;
}
};
void test01()
{
//重载的()操作符也称为仿函数
Myprint myFunc;
myFunc("hello world");
}
class Myadd
{
public:
int operator()(int v1, int v2)
{
return v1 + v2;
}
};
void test02()
{
Myadd add;
int ret = add(10, 10);
cout << "ret = " << ret << endl;
//匿名对象调用
cout << "Myadd()(100,100)=" << Myadd()(100, 100) << endl;
}
int main()
{
test02();
test01();
return 0;
}