#include <iostream>
#include <string>
using namespace std;
//构建者设计模式-一种工厂只生产一种复杂的产品
class robot
{
public:
string head;
string upbody;
string downbody;
};
class robotBuilder
{
private:
robot *myRobot;
public:
robotBuilder() //构造函数,为成员变量创建一片空间
{
myRobot=new robot();
}
~robotBuilder() //析构函数,释放空间,指针指向为空
{
delete myRobot;
myRobot=NULL;
}
//成员函数
robotBuilder *buildHead(string head)
{
myRobot->head=head;
return this;
}
robotBuilder *buildUpbody(string upbody)
{
myRobot->upbody=upbody;
return this;
}
robotBuilder *builddownbody(string downbody)
{
myRobot->downbody=downbody;
return this;
}
robot *build()
{
return myRobot;
}
};
int main()
{
robotBuilder *builder=new robotBuilder();
robot *robot001=builder->buildHead("美杜莎的头")->buildUpbody("哆啦A梦的上半身")->builddownbody("闪电侠的腿")->build();//最后返回robot的指针
cout<<robot001->head<<"+"<<robot001->upbody<<"+"<<robot001->downbody;
delete builder; //new delete
return 0;
}
C++基础:构建者设计模式
最新推荐文章于 2024-06-12 13:51:17 发布