C++Primer之基于对象的数组设计

      基于对象是从面向过程向面向对象的过渡。我写这篇小文的目的就是想尽可能多地丰富数组对象的功能。书中提到应该有的功能,原文如下:
      1、数组类的实现中有内置的自我意识。首先,它知道自己的大小。
      2、数组类支持数组之间的赋值、以及两个数组之间的相等和不相等的比较操作。
      3、数组类应该支持对其所含的只进行下列查询操作:数组中最小值是什么?最大值是什么?某个特殊的值是否在数组中?如果存在,它的第一个位置的索引是什么?
      4、数组类支持自排序。
      除了支持数组操作,还必须支持数组本身的机制,包括:
      5、能够指定长度,以此来创建数组(这个值无需在编译时刻知道)。
      6、能够用一组值初始化数组。
      7、能够通过索引来访问数组中的单个元素。
      8、能够截获并指出错误的索引值。
      而实际上,在开发过程中,数组的功能远不止于此。
      1、能够扩展,包括水平和垂直扩展两方面。水平方向,自排序的关键字可能不止一个元素,需要多个成员才能共同确定;垂直方面,数组的成员可能是另一个数组类型的对象。这两种扩展正是我们认识世界描述世界的基本方式。
      2、能够文档化。把扩展后的庞大数组存在数据库中,在需要的时候,再从数据库中取出。如果数组成员指向某个动态库文件中的相应的函数,则库文件完全可以由数据库统一管理,由代码选择调用。
      3、能够动态增删成员。为了使数组对象能够适应开发,随时有可能根据当前需要,动态增删成员。增是为了实现描述和处理,删是为了节约消耗。
      4、能够查询对数组的操作记录和回溯。这有点像数据库的操作,但是对一个庞大的数组对象,显然也是需要的。不过这一点可以在文档化时解决。
      5、能够查找符合条件而非单单是索引的数组元素。
      6、可变长。

      以上就是笔者当前想出来可能需要的功能。

posted on 2011-06-22 15:41 enjoylife 阅读(127) 评论(0)  编辑 收藏 引用 所属分类: STL


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿

文章分类

文章档案

links

搜索

最新评论