Fork me on GitHub

c++之函数调用运算符重载

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

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

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

#include<iostream>
using namespace std;

class MyPrint {
public:
    void operator()(string test) {
        cout << test << endl;
    }
};
class MyAdd {
public:
    int operator()(int num1, int num2) {
        return num1 + num2;
    }
};
void test() {
    MyPrint myPrint;
    MyAdd myAdd;
    myPrint("hello world");
    int res = myAdd(1, 2);
    cout << res << endl;
    //匿名函数对象
    cout << MyAdd()(1, 2) << endl;
}


int main() {
    test();
    system("pause");
    return 0;
}
posted @ 2019-12-26 09:43  西西嘛呦  阅读(419)  评论(0编辑  收藏  举报