欢迎来到天天文库
浏览记录
ID:5881234
大小:175.00 KB
页数:8页
时间:2017-12-27
《华中科技大学计算机学院c++实验报告 实验四》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、面向对象程序设计实验报告课程实验报告课程名称:面向对象程序设计实验名称:面向对象的整型队列编程院系:计算机科学与技术专业班级:CS1209班学号:姓名:指导教师:李春花2015年01月22日-7-面向对象程序设计实验报告一、需求分析1.题目要求整型队列是一种先进后出的存储结构,对其进行的操作通常包括判断队列是否为空、向队列顶添加一个整型元素、出队列等。整型队列类型及其操作函数采用面向对象的C++语言定义,请将完成上述操作的所有函数采用C++编程,然后写一个main函数对队列的所有操作函数进行测试。classQUEUE{int*constel
2、ems;//申请内存用于存放队列的元素constintmax;//队列能存放的最大元素个数inthead,tail;//队列头和尾,队列空时head=tail;初始时head=tail=0public:QUEUE(intm);//初始化队列:最多m个元素QUEUE(constQUEUE&s);//用队列s拷贝初始化队列virtualoperatorint()const;//返回队列的实际元素个数virtualQUEUE&operator<<(inte);//将e入队列,并返回队列virtualQUEUE&operator>>(int&e);
3、//出队列到e,并返回队列virtualQUEUE&operator=(constQUEUE&s);//赋s给队列,并返回被赋值的队列virtualvoidprint()const;//打印队列virtual~QUEUE();//销毁队列};2.需求分析本题目用数组实现队列,需要预知需要空间的大小,会造成空间浪费或不够用;插入或删除不需要动态分配或删除内存,耗时很小;支持随机存取。二、软件开发使用CodeBlocks编译器进行编译及进行调试。三、软件测试1)总的界面如图1所示:-7-面向对象程序设计实验报告图12)进行入队列操作,如图2所示
4、:图23)进行出队列操作,如图3所示:图34)返回队列的实际元素个数,如图4所示:图45)将两个队列进行打印,如图5所示:图5-7-面向对象程序设计实验报告一、过程和体会课程设计的体会通过本次实验让我对队列的构建以及对其进行一些列的操作有了更进一步的了解。二、源码和说明1.文件清单及其功能说明main.c是源程序文件dsa.exe是可执行文件2.用户使用说明书使用CodeBlocks进行编译及调试。3.源代码#include#include#include#include5、ws.h>usingnamespacestd;classQUEUE{int*constelems;//申请内存用于存放队列的元素constintmax;//队列能存放的最大元素个数inthead,tail;public:QUEUE(intm);QUEUE(constQUEUE&s);//用队列s拷贝初始化队列virtualoperatorint()const//返回队列的实际元素个数{return(tail-head);}virtualQUEUE&operator<<(inte)//将e入队列,并返回队列{if((tail+1)%max==6、head){-7-面向对象程序设计实验报告cout<<"队列为满!!";}elseelems[tail]=e;tail++;return(*this);}virtualQUEUE&operator>>(int&e)//出队列到e,并返回队列{if(head==tail){cout<<"队列为空!!";}elsee=elems[head];head=(head++)/max;return(*this);}virtualQUEUE&operator=(constQUEUE&s)//赋s给队列,并返回被赋值的队列{head=s.head;7、tail=s.tail;return(*this);}virtualvoidprint()const//打印队列{cout<<"最大容量:t"<8、<<"销毁队列成功!!";elsecout<<"销毁队列没成功!";}};QUEUE::QUEUE(intm=20):max(m),elems(newint[m]){ta
5、ws.h>usingnamespacestd;classQUEUE{int*constelems;//申请内存用于存放队列的元素constintmax;//队列能存放的最大元素个数inthead,tail;public:QUEUE(intm);QUEUE(constQUEUE&s);//用队列s拷贝初始化队列virtualoperatorint()const//返回队列的实际元素个数{return(tail-head);}virtualQUEUE&operator<<(inte)//将e入队列,并返回队列{if((tail+1)%max==
6、head){-7-面向对象程序设计实验报告cout<<"队列为满!!";}elseelems[tail]=e;tail++;return(*this);}virtualQUEUE&operator>>(int&e)//出队列到e,并返回队列{if(head==tail){cout<<"队列为空!!";}elsee=elems[head];head=(head++)/max;return(*this);}virtualQUEUE&operator=(constQUEUE&s)//赋s给队列,并返回被赋值的队列{head=s.head;
7、tail=s.tail;return(*this);}virtualvoidprint()const//打印队列{cout<<"最大容量:t"<8、<<"销毁队列成功!!";elsecout<<"销毁队列没成功!";}};QUEUE::QUEUE(intm=20):max(m),elems(newint[m]){ta
8、<<"销毁队列成功!!";elsecout<<"销毁队列没成功!";}};QUEUE::QUEUE(intm=20):max(m),elems(newint[m]){ta
此文档下载收益归作者所有