53 lines
1.0 KiB
C++
53 lines
1.0 KiB
C++
/*
|
||
* ChicagoPizzaIngredientFactory.hpp
|
||
*
|
||
* Created on: 3 нояб. 2021 г.
|
||
* Author: alexander
|
||
*/
|
||
|
||
#pragma once
|
||
|
||
#include "PizzaIngredientFactory.hpp"
|
||
#include "Cheese.hpp"
|
||
#include "Sauce.hpp"
|
||
#include "Dough.hpp"
|
||
#include "Veggies.hpp"
|
||
#include "Pepperoni.hpp"
|
||
#include "Clams.hpp"
|
||
|
||
class ChicagoPizzaIngredientFactory: public PizzaIngredientFactory
|
||
{
|
||
public:
|
||
Dough* createDough() const override
|
||
{
|
||
return new ThickCrustDough();
|
||
}
|
||
|
||
Sauce* createSauce() const override
|
||
{
|
||
return new PlumTomatoSauce();
|
||
}
|
||
|
||
Cheese* createCheese() const override
|
||
{
|
||
return new MozzarellaCheese();
|
||
}
|
||
|
||
std::vector<Veggies*> createVeggies() const override
|
||
{
|
||
std::vector<Veggies*> veggies { new BlackOlivesVeggies(), new SpinachVeggies(), new EggplantVeggies() };
|
||
|
||
return veggies;
|
||
}
|
||
|
||
Pepperoni* createPepperoni() const override
|
||
{
|
||
return new SlicedPepperoni();
|
||
}
|
||
|
||
Clams* createClam() const override
|
||
{
|
||
return new FrozenClams();
|
||
}
|
||
};
|