十三、适配器模式
【摘要】 将一个类的接口转换成用户想要的另外一个接口,适配器模式使原来由于接口不兼容而不能一起工作的那些类可以一起工作。
#include<iostream>
#include<string>
using namespace std;
//抽象球员类
class player
{
protected:
string m_name;
public:
player(str...
将一个类的接口转换成用户想要的另外一个接口,适配器模式使原来由于接口不兼容而不能一起工作的那些类可以一起工作。
#include<iostream>
#include<string>
using namespace std;
//抽象球员类
class player
{
protected:
string m_name;
public:
player(string str_name):m_name(str_name){}
virtual void attack(){};
virtual void defends(){};
};
//具体球员 前锋
class forwords:public player
{
public:
forwords(string str_name):player(str_name){}
void attack()
{
cout<<m_name<<"进攻"<<endl;
}
void defends()
{
cout<<m_name<<"防守"<<endl;
}
};
//中锋
class center:public player
{
public:
center(string str_name):player(str_name){}
void attack()
{
cout<<m_name<<"进攻"<<endl;
}
void defends()
{
cout<<m_name<<"防守"<<endl;
}
};
class yaoming
{
private:
string m_name;
public:
yaoming(string str_name):m_name(str_name){}
void attack()
{
cout<<m_name<<"进攻"<<endl;
}
void defends()
{
cout<<m_name<<"防守"<<endl;
}
};
class translate:public player
{
private:
yaoming *s;
public:
translate(string str_name):player(str_name)
{
s = new yaoming("姚明");
}
void attack()
{
s->attack();
}
void defends()
{
s->defends();
}
};
int main()
{
player *s = new forwords("A");
s->attack();
player *s1 = new forwords("B");
s1->attack();
player *m_yaoming = new translate("姚明");
m_yaoming->defends();
m_yaoming->attack();
return 0;
}
文章来源: blog.csdn.net,作者:IM-STONE,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/doubleintfloat/article/details/86552719
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)