127类型安全的通用模板类.pptVIP

  • 1
  • 0
  • 约2.95千字
  • 约 25页
  • 2017-01-14 发布于广东
  • 举报
127类型安全的通用模板类.ppt

12.7 类型安全的通用模板类 12.7.1 单链表类 单向链表结点= 数据结点 + 链指针结点 1 链结点:slink 2 表结点: name 3 单链表类:slist_base 4 使用单链表 12.7.2 扩充:链表结点expr 12.7.3 有什么问题? 由于slist_base是按slink而不是name 来定义对链表的操作,当对象放入链表之后,其静态类型信息也就消失了。当从链表中取出它时,需要进行强制类型转换,把链表中存放的对象转换成它原来的类型name.但是:要记住每次取出对象的具体类型是很困难的。 难题:如何保证链表中的类型安全性? 若用虚函数,不必进行强制类型转换,没有什么问题。但用户只能通过虚函数的动态绑定来使用基类提供的接口; 若要对具体的派生类进行处理,则注定了这种异质链表(链表中可以存放不同类型的对象)不是类型安全的。 12.7.4 同质链表的类型安全性 1. 类模板Islist 2. 使用类模板 3. 误用类模板 小结: 12.8 容器和迭代器 12.8.1 容器简述 12.8.2 通过模板构造容器 说明如何通过模板获得类型安全性检查 (参见12.7) 12.8.3 迭代器 迭代器:是一个对象,它在其他对象的容器上遍历,每次选择他们 中的一个,不需要提供对这个容器的实现的直接访问。 提供了一种访问元素的标准方法

文档评论(0)

1亿VIP精品文档

相关文档