代码实现:
#include <iostream>
using namespace std;
class Current220v
{
public:
void useCurrent220v()
{
cout << "use current 220 v" << endl;
}
};
class Current18v
{
public:
virtual void useCurrent18v() = 0;
};
class Adapter :public Current18v
{
public:
Adapter(Current220v* current220v)
{
this->current220v = current220v;
}
void useCurrent18v()
{
current220v->useCurrent220v();
cout << "convert 220v to 18 v" << endl;
}
private:
Current220v* current220v;
};
void main()
{
Current220v* current220v = new Current220v;
Adapter* adapter = new Adapter(current220v);
adapter->useCurrent18v();
delete current220v;
delete adapter;
}