基于模板技术的多层次可视化数据结构实验环境研究可视化数据结构实验环境VCDSv1
0编程实验(C++版)(编号:20050202A)参考手册合肥工业大学《数据结构》课程组2005年7月15日第2页共119页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共119页第1章DSSTL类库1
1DSSTL类库概述数据结构基础类模板库
这是实验环境所用到的最重要也是最基础的类库,其中类名全部以大写字母D开始,在本文中将此类库简称为D类库
D类库全部以标准C++语言编写,适合于所有标准C++编译器且不依赖第三方类库
它定义了每种数据结构的最基本的物理实现部分,提供了数据结构最基本的逻辑操作,如堆栈的入栈和出栈,并采用了C++输入输出流机制对数据结构进行存储
在数据层的设计中体现了C++的虚继承与继承的特点,采用模板技术实现多种数据类型的代码封装,大大减少了代码的冗余,整个数据层的设计学习VC中的MFC类库的特点达到了结构明确,层次清晰,类与类之间的关系紧密
由于整个软件中的数据结构较多有八大模块,为了很好的实现类的层次架构,设计过程中设置了数据层基类DObject,然后依据具体模块设置相应的类层次,其结构框架见附录一
2DObjectDOject是数据结构标准摸班类库DSSTL中所有类的基类,定义了许多公用的虚函数
这些虚函数有相当一部分是纯虚函数,因此无法直接使用DOject来声明对象
常用的方法是使用DOject指针
1类层次关系正像前面介绍的那样,DObject是整个数据层的基类,包含着各个模块的公共操作接口,是一个虚类
2类成员virtualvoidOutput(ostream&out)const;——流输出函数,保存类中数据virtualvoidInput(istream&in);——流输入函数,读取数据virtualvoidSa