函数调用运算符重载

函数调用运算符重载

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

代码示例:

#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;
}

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

C/C++基础 文章被收录于专栏

本专栏收录C/C++编程语言相关知识

全部评论

相关推荐

06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
舂锋:不能投什么岗都用一份简历,一般都是要看企业的岗位需求来写职业技能或者是项目经历,跟岗位相关的就写多一点。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 12:05
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务