摘要: 一、线性表(List)的表现形式 1、零个或者多个数据元素组成的集合 2、数据元素在位置上是有序排列的 3、数据元素的个数是有限的 4、数据元素的类型必须相同 二、线性表(List)的抽象定义 1、线性表是具有相同类型的n(>=0)个数据元素的有限序列 {a0,a1,a2,....an-1} ai是 阅读全文
posted @ 2017-05-08 22:29 lgc202 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 一、遵循经典设计原则 DTLib中的所有类位于单一继承树 IvalidOperationEXception是新增的异常类,描述某些成员函数在状态不对的时候被抛出 二、改进的关键点 1、EXception类继承自Object类:堆空间中创建异常对象失败时,返回NULL指针,用的是自己的new版本 更改 阅读全文
posted @ 2017-05-08 21:18 lgc202 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 一、当代软件架构实践中的经验 1、尽量使用单继承的方式进行系统设计(单继承+多个接口的方式) 2、尽量保持系统中只存在单一继承树(创建一个顶层的抽象父类) 3、尽量使用组合关系代替继承关系(后面会讲) 不幸的事实 (1)、c++语言的灵活性使得代码中可以存放多个继承树 (2)、c++编译器的差异使得 阅读全文
posted @ 2017-05-08 19:51 lgc202 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 一、自定义异常类 1、异常的类型可以是自定义的类类型 2、对于类类型的匹配依旧是之上而下的严格匹配 3、赋值兼容性原则在异常匹配中依然适用 所以要 (1)、匹配子类异常的catch放在上部 (2)、匹配父类异常的catch放在下部 4、异常类是数据结构所依赖的“基础设施”(现代c++库也必然包含充要 阅读全文
posted @ 2017-05-08 18:04 lgc202 阅读(639) 评论(0) 推荐(0) 编辑