C++ Builder. Wzorzec projektowy

Witam

W ramach nauki próbowałem zaimplementować wzorzec projektowy: Builder. Z tego co zrozumiałem w opisie i diagramie udało mi się napisać coś takiego.

Lecz nie jestem pewien czy jest to poprawna implementacja tego wzorca.

#include 

#include 


using namespace std;


class Product{

public:

	string Name;


	Product(){};

	void setName(string name){

		this->Name=name;

	}

	void viewName(){

		cout<<"Nazwa produktu: "<
	}

};


class Builder{

public:

	virtual void buildPart()=0;

	virtual Product getResults()=0;

};


class ConcreteBuilder : public Builder{

public:

	Product produkt;

	void buildPart(){

		produkt.setName("Smaczna Pizza");

	}


	Product getResults(){

		return produkt;

	}

};


class Director{

public:

	void Construct(Builder* build){

		build->buildPart();

	}

};



void main(){


Director dyrektor;

Builder* budowniczy = new ConcreteBuilder;

dyrektor.Construct(budowniczy);


Product p = budowniczy->getResults();

p.viewName();

}