草庐IT

c++ - 工厂方法实现 - C++

我有以下用于“工厂”设计模式实现的代码。classPen{public:virtualvoidDraw()=0;};classRedPen:publicPen{public:virtualvoidDraw(){coutcreatePen(conststd::stringcolor){if(color=="red")returnauto_ptr(newRedPen);elseif(color=="blue")returnauto_ptr(newBluePen);}但我听说使用“C++模板”可以更好地完成它。任何人都可以帮助它是如何完成的以及模板方法如何比这更好?任何想法