堆栈、队列、链表等数据结构中的数据通常都是单一类型的。利用类的多态性,可以构造异质的数据结构,即数据单元由不同类的对象组成的结构。例如,一个可以压入不同(长度)对象的堆栈。多态数据结构是面向对象的数据库、多媒体数据库的数据存储基础。例
10.5
的程序中定义了基类
Phone
和它三个派生类
BP_user
、
Fax_user
、
Mobile_user,
它们分别代表拥有不同通信设备的人员,
这几个类具有两个共同的接口:
insert()
和
print()
。基类和派生类各自的实现代码能正确地创建和打印自己的对象。能够使用相同的对象指针是这几个类的对象的
“
异
”
中之
“
同
”
,正是这种共性,使他们能够进入同一个数据结构
——
链表中。