📄 pizzastore.hpp
字号:
#ifndef _HFDP_CPP_FACTORY_METHOD_PIZZA_STORE_HPP_
#define _HFDP_CPP_FACTORY_METHOD_PIZZA_STORE_HPP_
#include "Pizzafm.hpp"
namespace HeadFirstDesignPatterns {
namespace Factory {
namespace Method {
class PizzaStore {
protected: PizzaStore() {
}
public: virtual ~PizzaStore() = 0 {
}
public: virtual std::auto_ptr< Pizza > createPizza( std::string type) const = 0;
public: std::auto_ptr< Pizza > orderPizza( std::string type) const {
std::auto_ptr< Pizza > pizza(createPizza(type) );
std::cout << "--- Making a " << pizza->getName() << " ---" << std::endl;
pizza->prepare();
pizza->bake();
pizza->cut();
pizza->box();
return pizza;
}
};
} // namespace Method
} // namespace Factory
} // namespace HeadFirstDesignPatterns
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -