函数调用运算符重载

createh53周前 (12-06)技术教程21

函数调用运算符()也可以重载

由于重载后使用的方式非常像函数的调用,因此称为仿函数

仿函数没有固定写法,非常灵活

class MyPrint
{
public:
	//重载函数调用运算符
	void operator()(string test)
	{
		cout << test << endl;
	}

};
void MyPrint02(string test)
{
	cout << test << endl;
}
//仿函数非常灵活,没有固定的写法
//加法类

class MyAdd
{
public:
	int operator()(int num1, int num2)
	{
		return num1 + num2;
	}
};
void test01()
{
	MyPrint  myPrint;
	myPrint("hello world");//由于使用起来非常类似函数调用,因此称为仿函数
	myPrint("hello world");
}

void test02()
{
	MyAdd myadd;
	int ret = myadd(100, 100);
	cout << "ret=" << ret << endl;
	//匿名函数对象
	cout << MyAdd()(100, 100) << endl;
}
 
int main()
{

	test01();
	system("pause");
	return 0;

}

相关文章

Python中如何创建和调用函数

0基础学python(85)我是"学海无涯自学不惜!",关注我,一同学习简单易懂的Python编程。#编程语言#一直以来,数学函数是我辈最大的紧箍咒,现在遇到Python中的函数,就这...

Python函数调用的12个方法,欢迎您来帮忙补充

1、使用 functools.partial 函数functools.partial 函数可以用来创建一个新的函数,它固定了原函数中的某些参数import functools def power(x...