0
点赞
收藏
分享

微信扫一扫

函数调用运算符重载


函数调用运算符重载

函数调用运算符()也可以重载
由于重载后使用的方式非常像函数的调用,因此称为仿函数
仿函数没有固定写法,非常灵活

代码示例:

#include <iostream>
#include <string>
using namespace std;
//函数调用运算符重载
//打印输出类
class MyPrint
{
public:
//重载函数调用运算符
void operator()(string test)
{
cout << test << endl;
}
};
void MyPrint02(string test)
{
cout << test << endl;
}
void test01()
{
MyPrint myPint;
myPint("hello world"); //由于使用起来非常类似函数调用,因此称为仿函数
MyPrint02("hello world");
}
//仿函数非常灵活
//加法类
class MyAdd
{
public:
int operator()(int num1, int num2)
{
return num1 + num2;
}
};
void test02()
{
MyAdd myadd;
int ret = myadd(100, 100);
cout << "ret=" << ret << endl;
//匿名函数对象
cout << MyAdd()(100, 100) << endl;
}
int main()
{
test01();
test02();
return 0;
}

欢迎关注微信公众号黑马金牌编程

函数调用运算符重载_微信公众号推广


举报

相关推荐

0 条评论