- 3
- 0
- 约2.9万字
- 约 5页
- 2017-06-15 发布于河南
- 举报
工厂模的智能化实现
由名字创建对象其实的有挺强的背景,那就是软件工程学中的对象持久性问题。本文讨论的方法也是持久性的一个可能实现。废话少说,看看C++是怎么做的。
动态创建当然要用指针。我们不希望在程序中出现硬编码:
Shape * pShape = new Circle;
那就用函数/对象包装一下。函数包装简单、高效一些。于是有Circle类的成员函数:
Shape *createInstance() {return new Circle;}
我们需要用这个函数去创建Circle对象,同时只有Circle对象创建以后才可以调用createInstance()。这是一对矛盾。解决的办法是将createInstance()写成静态函数。于是Shpae和Circle类长的是这个样子:
class Shape{
public:
virtual void Draw() = 0;
};
class Circle : public Shape{
public:
void Draw() { std::cout Drawing a Circle......Done std::endl; }
static Shape *createInstance() {return new Circle;}
};
指向createInstance()的函数指针当然要放在工厂类里面,同时
您可能关注的文档
- 小学英作文 示范大全.doc
- 小学英上学期期末复习计划 - 副本.doc
- 小学记文PPT.ppt
- 小学生科知识大全.doc
- 小学语S版课本古诗.doc
- 小学语人教课标版五年级上册单元教学设计.doc
- 小学生饺子作文集合.doc
- 小学生背古诗词200首.doc
- 小学生习能力训练 - 猪八戒网.ppt
- 小学语探究性学习的反思与对策.doc
- 高校理工科实验室的性别化空间政治_2026年5月.docx
- 数字化转型对企业治理结构的影响与董事会监督职能重塑_2026年3月.docx
- 大学生助农表情包在老年机显示适配与传播障碍解决_2026年3月.docx
- 互文性典故化用无痕技巧掌握.docx
- 智能插座在大学生宿舍安全用电管理中的应用_2026年5月.docx
- 脑纹绘画:将脑电波图形直接转换为墙面艺术图案.docx
- 共享经济平台双边用户匹配的公平与效率平衡机制设计_2026年3月.docx
- 高维导游:向三维生物解释四维空间的讲解词.docx
- 银饰发黑擦银布抛光损伤程度评估.docx
- 生成式人工智能辅助大学生论文写作的伦理边界与规范研究_2026年3月.docx
最近下载
- Kymco光阳赛艇 CT250 CT300 (CK250T-11 CK300T-11)用户手册.pdf
- 050017》平时作业二参考答案23869.pdf VIP
- 骨质疏松诊疗指南2025年.docx VIP
- 2026最新国家基层糖尿病防治管理指南认证考试题库及答案.docx
- (2026春新版)教科版二年级科学下册《第一单元 探秘恐龙 科学阅读 》PPT课件.pptx VIP
- 四川省泸州市2020-2021学年高一下学期期末统一考试物理试题 .docx VIP
- (正式版)SH∕T 3232-2024 石油化工建(构)筑物防腐蚀设计规范.pdf VIP
- 国家电网招聘复习题库及历年真题汇编(含答案).doc VIP
- Unit3Learningbetter第三课时(课件)-人教PEP版(级下册.pptx
- 尊干爱兵融洽官兵关系.ppt VIP
原创力文档

文档评论(0)