/* * NYPizzaIngredientFactory.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 NYPizzaIngredientFactory: public PizzaIngredientFactory { public: Dough* createDough() const override { return new ThinCrustDough(); } Sauce* createSauce() const override { return new MarinaraSauce(); } Cheese* createCheese() const override { return new ReggianoCheese(); } std::vector createVeggies() const override { std::vector veggies { new GarlicVeggies(), new OnionVeggies(), new MushroomVeggies(), new RedPepperVeggies() }; return veggies; } Pepperoni* createPepperoni() const override { return new SlicedPepperoni(); } Clams* createClam() const override { return new FreshClams(); } };