生活中的适配器的例子:
C++代码实现:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
struct MyPrint {
public :
void operator()(int v1 , int v2) {
cout << v1 + v2 << endl;
}
};
class AbstractAdapter {
public :
virtual void operator()(int v ) = 0;
};
class Adapter : public AbstractAdapter {
private :
MyPrint myPrint;
int parama;
public :
Adapter(int parama) {
this->parama = parama;
}
virtual void operator()(int v) {
myPrint(v , this->parama);
}
};
Adapter myAdater(int v) {
return Adapter(v);
}
void test() {
vector<int> v;
v.push_back(10);
v.push_back(20);
v.push_back(30);
v.push_back(40);
v.push_back(50);
for_each(v.begin() , v.end() , myAdater(90));
}
int main() {
test();
return 0;
}