nypizzastore.hpp

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

HPP
37
字号
#ifndef	_HFDP_CPP_FACTORY_ABSTRACT_NYPIZZA_STORE_HPP_#define _HFDP_CPP_FACTORY_ABSTRACT_NYPIZZA_STORE_HPP_#include "Pizzaaf.hpp"namespace HeadFirstDesignPatterns {namespace Factory {namespace Abstract {class NYPizzaStore : public PizzaStore { 	public: std::auto_ptr< Pizza > createPizza( std::string item ) const {		std::auto_ptr< Pizza > pizza( 0 );		PizzaIngredientFactory* ingredientFactory = new NYPizzaIngredientFactory(); 		if( item.compare( "cheese" ) == 0 ) {  			pizza = std::auto_ptr< Pizza >( new CheesePizza( ingredientFactory ) );			pizza->setName( "New York Style Cheese Pizza" );  		} else if( item.compare( "veggie" ) == 0 ) { 			pizza = std::auto_ptr< Pizza >( new VeggiePizza( ingredientFactory ) );			pizza->setName( "New York Style Veggie Pizza" ); 		} else if( item.compare( "clam" ) == 0 ) { 			pizza = std::auto_ptr< Pizza >( new ClamPizza( ingredientFactory ) );			pizza->setName( "New York Style Clam Pizza" ); 		} else if( item.compare( "pepperoni" ) == 0 ) {			pizza = std::auto_ptr< Pizza >( new PepperoniPizza( ingredientFactory ) );			pizza->setName( "New York Style Pepperoni Pizza" );		} 		return pizza;	}};} // namespace Abstract} // namespace Factory} // namespace HeadFirstDesignPatterns#endif

⌨️ 快捷键说明

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