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

函数调用运算符重载

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

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

  仿函数没有固定写法

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 //函数调用运算符重载
 4 //打印输出类
 5 class MyPrint
 6 {
 7 public:
 8     void operator()(string test)
 9     {
10         cout << test << endl;
11     }
12 };
13 void MyPrint02(string test)
14 {
15     cout << test << endl;
16 }
17 //仿函数非常灵活   例如:加法类
18 class MyAdd
19 {
20 public:
21     int operator()(int num1, int num2)
22     {
23         return num1 + num2;
24     }
25 };
26 void test()
27 {
28     MyPrint mp;
29     mp("BigMeng");//使用起来非常类似于 函数调用 因此称为 仿函数
30     MyPrint02("BigMeng");
31     MyAdd ma;
32     int ret = ma(10, 10);
33     cout << "ret = " << ret << endl;
34     //匿名函数对象
35     cout << MyAdd()(100, 100) << endl;//匿名对象:MyAdd()
36 }
37 
38 int main()
39 {
40     test();
41     system("pause");
42     return 0;
43 }
复制代码

 

posted on   廿陆  阅读(5)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示