欢迎来到天天文库
浏览记录
ID:42107226
大小:331.73 KB
页数:34页
时间:2019-09-08
《17种设计模式代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、lx适配器模式adapter#includeusingnamespacestd;classDeque{public:voidpush_back(intx){cout«HDequepush_backH«endl;}voidpush_front(intx){cout«HDequepush_frontH«endl;}voidpop_back(){cout«HDequepop_back"«endl;}voidpop_front(){cout«HDequepop_frontH«endl;}};〃顺序容器c
2、lassSequence{public:virtualvoidpush(intx)=0;virtualvoidpop()=0;};〃栈classStack:publicSequence{public:voidpush(intx){deque.push_back(x);}voidpop(){deque.pop_back();}private:Dequedeque;//双端队列};〃队列classQueue:publicSequenee{public:voidpush(intx){deque.push_back(x);
3、}voidpop(){deque.pop_front();}private:Dequedeque;//双端队列};intmain(){Sequenee*sl=newStack();Sequence*s2=newQueue));sl->push(l);sl->pop();s2->push(l);s2->pop();deletesi;deletes2;return0;}2^建造者模式building#includeusingnamespacestd;classBuilder{public:virtu
4、alvoidBuildHead(){}virtualvoidBuildBody(){}virtualvoidBuildLeftArm(){}virtualvoidBuildRightArm(){}virtualvoidBuildLeftLegO{}virtualvoidBuildRightLegf){}};〃构造瘦人classThinBuilder:publicBuilder{public:voidBuildHead(){cout«"buildthinbody"«endl;}voidBuildBody(){cout
5、«"buildthinhead"«endl;}voidBuildLeftArm(){cout«"buildthinleftarm"«endl;}voidBuildRightArm(){cout«"buildthinrightarm"«endl;}voidBuildLeftLegO{cout«"buildthinleftlegn«endl;}voidBuildRightLeg(){cout«"buildthinrightleg"«endl;}};〃构造胖人classFatBuilder:publicBuilder{p
6、ublic:voidBuildHeadf){cout«"buildfatbody"«endl;}voidBuildBodyO{cout«"buildfathead"«endl;}voidBuildLeftArm(){cout«"buildfatleftarm"«endl;}voidBuildRightArm(){cout«"buildfatrightarm"«endl;}voidBuildLeftLegO{cout«"buildfatleftleg"«endl;}voidBuildRightLeg(){cout«"
7、buildfatrightleg"«endl;}};〃构造的指挥官classDirector{private:Builder*m_pBuilder;public:Director(Builder*builder){m_pBuilder=builder;}voidCreate(){m_pBuilder->BuildHead();m_pBuilder->BuildBody();m_pBuilder->BuildLeftArm();m_pBuilder->BuildRightArm();m_pBuilder->Build
8、LeftLeg();m_pBuilder->BuildRightLeg();}};intmain(){FatBuilderthin;Directordirectorf&thin);director.Create();return0;}3、策略模式#includeusingnamespacestd;classCOperation{publi
此文档下载收益归作者所有