1.适配器模式
将一个接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作
适配器模式,就是将一个已经写好的接口但是这个接口不符合需求 适配成我们需要的接口
2.代码实现
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct MyPrint{
void operator()(int v1, int v2)
{
cout<<v1 + v2<<endl;
}
};
//定义目标接口 我要是配偶 适配成什么样的
class Target
{
public:
virtual void operator()(int v) = 0;
};
class Adapter:public Target
{
public:
Adapter(int t_parm)
{
this->parm = t_parm;
}
virtual void operator()(int v)
{
m_print(v,parm);
}
public:
MyPrint m_print;
int parm;
};
//MyBind2nd
Adapter MyBind2nd(int v)
{
return Adapter(v);
}
int main()
{
vector<int>v;
for (int i=0; i< 10; i++)
{
v.push_back(i);
}
for_each(v.begin(), v.end(), MyBind2nd(10));
system("pause");
return 0;
}
3.运行截图