一个简单的函数适配器的例子

来源:互联网 发布:vb中的caption属性 编辑:程序博客网 时间:2024/06/09 18:27

函数适配器可以实现一种函数的接口转换成另一种函数接口,代码如下所示:

//start from the very beginning,and to create greatness//@author: Chuangwei Lin//@E-mail:979951191@qq.com//@brief: 一个简单的函数适配器的例子(将一个函数接口转变为另一个接口)#include <iostream>#include <boost/function.hpp>#include <boost/bind.hpp>using namespace std;//声明类class lcw{public:    void memberFunc(double d, int i, int j)//简单的打印函数    {        cout << d <<" "<< i << " " << j << endl;     }};int main(){    lcw lin;//声明类    //相当于是void fp1(int, int),_1是占位符,所占位表示输入的参数,成员函数的话取地址符不能省略    boost::function<void (int, int)> fp1 = boost::bind(&lcw::memberFunc, &lin, 0.5, _1, _2);    fp1(120, 220);    //boost::ref说明此处是一个引用,上面那一条是一个指针    boost::function<void (int, int)> fp2 = boost::bind(&lcw::memberFunc, boost::ref(lin), 0.5, _1, _2);    fp2(5 , 26);    return 0;}

运行结果如下:
这里写图片描述

1 0
原创粉丝点击