/* * ClamPizza.hpp * * Created on: 3 нояб. 2021 г. * Author: alexander */ #pragma once #include "Pizza.hpp" #include "PizzaIngredientFactory.hpp" class ClamPizza: public Pizza { public: PizzaIngredientFactory *ingredientFactory; ClamPizza(PizzaIngredientFactory *ingredientFactory) : ingredientFactory(ingredientFactory) {} void prepare() override { std::cout << "Preparing " << getName() << std::endl; setDough(ingredientFactory->createDough()); setSauce(ingredientFactory->createSauce()); setCheese(ingredientFactory->createCheese()); setClams(ingredientFactory->createClam()); } ~ClamPizza() { delete ingredientFactory; } };