#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();
cout<<robot001->head<<"+"<<robot001->upbody<<"+"<<robot001->downbody;
delete builder;
return 0;
}