当前位置:首页 > 华中科技大学计算机学院C++实验报告 实验六
课 程 实 验 报 告
课程名称:面向对象程序设计
实验六
院 系 : 计算机科学与技术
专业班级 : CS1209班 学 号 : 姓 名 :
指导教师 : 李春花
2015 年 01 月 22 日
面向对象程序设计实验报告
一、需求分析
1. 题目要求
整型队列是一种先进后出的存储结构,对其进行的操作通常包括判断队列是否为空、向队列顶添加一个整型元素、出队列等。整型队列类型及其操作函数采用面向对象的C++语言定义,请将完成上述操作的所有函数采用C++编程, 然后写一个main函数对队列的所有操作函数进行测试。注意,请用实验三的SATCK继承形成新的类QUEQUE。分析说明除构造函数以外的函数,加virtual说明与不加virtual说明有无区别。并说明为什么不将s2也作为基类。
class QUEUE:public STACK{ STACK s2; public:
QUEUE(int m);
//初始化队列:每个栈最多m个元素
//用队列s拷贝初始化队列 //返回队列的实际元素个数 //将e入队列,并返回队列 //出队列到e,并返回队列
QUEUE(const QUEUE&s); operator int ( ) const; QUEUE& operator<<(int e); QUEUE& operator>>(int &e); void print( ) const; ~QUEUE( ); };
QUEUE& operator=(const QUEUE&s); //赋s给队列,并返回被赋值的队列
//打印队列 //销毁队列
2. 需求分析
有两个栈实现两个队列,其中一个栈用直接QUEUE类的成员,另一个栈用继承得到的。
二、系统设计
用两个栈实现队列,先判栈S2是否为空,如果为空,对S1进行入栈操作,如果不是空,栈S2数据元素倒入到S1,然后对S1进行入栈操作。
出队列时。判断S2是否为空,如果非空S2中的元素出栈,若果为空,把S1的元素倒入到S2,对S2的元素进行出栈操作。
三、软件开发
使用CodeBlocks进行编写和调试。
四、软件测试
- 1 -
面向对象程序设计实验报告
1) 总界面如图1所示:
图1
2)进行入队列操作,如图2所示:
图2
3)进行打印栈操作,如图3所示:
图3
4)查看队列中的元素个数如图4所示:
图4
- 2 -
面向对象程序设计实验报告
5)进行出队列操作,如图5所示:
图5
6)销毁队列,如图6所示:
图6
五、特点与不足
1. 技术特点
学会使用派生类操作基类成员函数。
2. 不足和改进的建议
无
六、过程和体会
课程设计的体会
通过本次的实验让我对C++中派生类问题有了更进一步的了解。刚开始进行编写时,对一些知识有点模糊,但经过老师和同学们的帮助下还是顺利的完成了。
七、源码和说明
1. 文件清单及其功能说明
main.c 是源程序文件
2. 用户使用说明书
使用CodeBlocks进行编译和调试。
3. 源代码
- 3 -
共分享92篇相关文档