C++工厂模式
【摘要】
C++ 的工厂模式
#define STACK_POS_TOP (0x0001)#define STACK_POS_INSIDE (0x0002) #define BEGIN_CELL_REGISTER \public: \ virtual CCell* GetCell(ul...
C++ 的工厂模式
-
#define STACK_POS_TOP (0x0001)
-
#define STACK_POS_INSIDE (0x0002)
-
-
#define BEGIN_CELL_REGISTER \
-
public: \
-
virtual CCell* GetCell(ulong ulCellID) \
-
{ \
-
switch(ulCellID) \
-
{
-
-
#define CELL_REGISTER(_CellID_, _CellClass_) \
-
case (_CellID_): \
-
{ \
-
CCell* pCell = new _CellClass_(); \
-
if(pCell) \
-
{ \
-
pCell->SetCellID(ulCellID); \
-
} \
-
return pCell; \
-
}
-
-
#define END_CELL_REGISTER \
-
default: \
-
break; \
-
} \
-
return NULL; \
-
} \
-
virtual UI_RESULT DeleteCell(CCell* pCell) \
-
{ \
-
delete pCell; \
-
return UI_SUCCESS; \
-
}
-
-
-
//工厂模式类
-
BEGIN_CELL_REGISTER
-
CELL_REGISTER(CELLID_BOOT, CCell_Boot)
-
END_CELL_REGISTER
-
文章来源: yujiang.blog.csdn.net,作者:鱼酱2333,版权归原作者所有,如需转载,请联系作者。
原文链接:yujiang.blog.csdn.net/article/details/54311422
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)