{C++ 基础} {C++ 高级} {C#界面,C++核心算法} {设计模式} {C#基础}
posted on 2007-05-24 19:42 梦在天涯 阅读(4877) 评论(2) 编辑 收藏 引用 所属分类: CPlusPlus 、Design pattern
可以把WidgetManager 接口变得更通用点吗?下面这样可以吗?template <class T, template <class Created> class CreationPolicy>class Manager : public CreationPolicy<T>{ };这样就可以如下使用了:Widget *widget = Manager<T, OpNewCreator>::create().细节问题没有认真查看,不知上述代码对否,呵呵! 回复 更多评论
楼上的那么做是可以的,但是你的写法不对template <class T, template <class > class CreationPolicy>class Manager : public CreationPolicy<T>{};typedef Manager<widget, OpNewCreator> MyWidgetMgr;MyWidgetMgr myMgr;Widget *widget = myMgr.Create(); 回复 更多评论