pepperonipizza.hpp

来自「深入浅出设计模式(书配套c++源代码)。包含20个设计模式的c++实现。」· HPP 代码 · 共 32 行

HPP
32
字号
#ifndef	_HFDP_CPP_FACTORY_ABSTRACT_PEPPERONI_PIZZA_HPP_#define _HFDP_CPP_FACTORY_ABSTRACT_PEPPERONI_PIZZA_HPP_#include "Pizzaaf.hpp"namespace HeadFirstDesignPatterns {namespace Factory {namespace Abstract {class PepperoniPizza : public Pizza {	private: mutable std::auto_ptr< PizzaIngredientFactory > _ingredientFactory; 	public: explicit PepperoniPizza( PizzaIngredientFactory* ingredientFactory ) :		_ingredientFactory( ingredientFactory ) { assert( ingredientFactory );	}	public: void prepare() const {		std::cout << "Preparing " << getName().c_str() << std::endl;		_dough = std::auto_ptr< Dough>( _ingredientFactory->createDough() );		_sauce = std::auto_ptr< Sauce>( _ingredientFactory->createSauce() );		_cheese = std::auto_ptr< Cheese>( _ingredientFactory->createCheese() );		_pepperoni= std::auto_ptr< Pepperoni>( _ingredientFactory->createPepperoni() );		if( _veggies.empty() ) 			_veggies = _ingredientFactory->createVeggies();	}};} // namespace Abstract} // namespace Factory} // namespace HeadFirstDesignPatterns#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?