设计模式---建造者模式

xiaoxiao2021-02-28  112

建造者模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

#include<iostream>

using namespace std; class PersonBuilder {     public:         virtual void BuildHead(){}         virtual void BuildBody(){}         virtual void BuildArmLeft(){} }; class PersonThinBuilder:public PersonBuilder {     public:         void BuildHead()         {             cout<<"thin buildhead\n";         }         void BuildBody()         {             cout<<"thin buildbody\n";         }         void BuildArmLeft()         {             cout<<"thin buildArmLeft\n";         } }; class PersonFatBuilder:public PersonBuilder {     public:         void BuildHead()         {             cout<<"fat buildhead\n";         }         void BuildBody()         {             cout<<"fat buildbody\n";         }         void BuildArmLeft()         {             cout<<"fat buildArmLeft\n";         } }; class PersonDirector {     private:         PersonBuilder *pb;     public:         PersonDirector(PersonBuilder *pb)         {             this->pb = pb;         }         void CreatePerson()         {             pb->BuildHead();             pb->BuildBody();             pb->BuildArmLeft();         } }; int main() {     PersonThinBuilder *ptb = new PersonThinBuilder();     PersonDirector *pdthin = new PersonDirector(ptb);     pdthin->CreatePerson();     PersonFatBuilder *pf = new PersonFatBuilder();     PersonDirector *pdfat = new PersonDirector(pf);     pdfat->CreatePerson(); }
转载请注明原文地址: https://www.6miu.com/read-37102.html

最新回复(0)