C++函数调用运算符重载

  1. 函数调用运算符重载()也可以重载
  2. 由于重载后使用的方式非常像函数的调用,因此称为仿函数
  3. 仿函数没有固定写法,非常灵活
#include
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;
}

你可能感兴趣的:(C,c++,开发语言)