chicagopizzastore.hpp

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

HPP
38
字号
#ifndef	_HFDP_CPP_FACTORY_ABSTRACT_CHICAGO_STORE_HPP_#define _HFDP_CPP_FACTORY_ABSTRACT_CHICAGO_STORE_HPP_#include "Pizzaaf.hpp"namespace HeadFirstDesignPatterns {namespace Factory {namespace Abstract {class ChicagoPizzaStore : 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( "Chicago Style Cheese Pizza" );  		} else if( item.compare( "veggie" ) == 0 ) { 			pizza = std::auto_ptr< Pizza >( new VeggiePizza( ingredientFactory ) );			pizza->setName( "Chicago Style Veggie Pizza" ); 		} else if( item.compare( "clam" ) == 0 ) { 			pizza = std::auto_ptr< Pizza >( new ClamPizza( ingredientFactory ) );			pizza->setName( "Chicago Style Clam Pizza" ); 		} else if( item.compare( "pepperoni" ) == 0 ) {			pizza = std::auto_ptr< Pizza >( new PepperoniPizza( ingredientFactory ) );			pizza->setName( "Chicago Style Pepperoni Pizza" );		} 		return pizza;	}};} // namespace Abstract} // namespace Factory} // namespace HeadFirstDesignPatterns#endif

⌨️ 快捷键说明

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