使用functional

来源:互联网 发布:中国电信网络传真系统 编辑:程序博客网 时间:2024/05/17 06:52
#include <functional>


using namespace std;
class CTT
{
public:
    int Mul(int a, int b)
    {
        return a * b;
    }

    int Add(int a, int b)
    {
        return a + b;
    }

};

int Sub(int a,int b)
{
    return a - b;
}

class CCall
{

public:
    void cal(char c)
    {
        if (c == '+')
            fun = &CTT::Mul; //std::mem_fn(&CTT::Mul);// &CTT::Mul;
        else
            fun = &CTT::Add; //std::mem_fn(&CTT::Add);
    }

    void show(int a,int b)
    {
        cout<<fun(t,a, b);
    }
private:
    function<int(CTT,int, int)> fun;
     CTT t;
};
0 0
原创粉丝点击