快速业务通道

按照类型名称动态创建对象

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-29
,不管是内建数组,还是标准容器,都无法处理异种类型混合的元素,只能使用基类指针或者所谓的泛型指针(void *),从类型安全性来说,向上转型(up-cast)的基类指针更为合适。这就隐含了一个限制,如果是一个任意类型的类型库系统,则必须要求建立严格的单根集成体系,然而据我所知,不管是Java还是VCL,都同样对此做出了限制,MFC似乎使用了宏,但是我不确定是否克服了这个挑战。

更一般化的动态创建对象技术,可以阅读Andrei Alexandrescu的<<Modern C++ Design>>一书,其中第八章Object Factory介绍了完整的动态创建对象的方法。从基本原理上来说,其中使用的技术和本文中的相类似,然而此书中的实现更加灵活、高效和通用。

4 应用

正如前面提起过的,本文介绍的技术,可以用于根据类型名称动态的创建该类型的实例。

典型的,这种动态创建类实例的方法,是构造可存储的对象库(IO object libaray)的常用方法,希望在自己开发的应用框架中提供对象持久性(Persistance)的用户,可以参考本文的技术。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号