tomvii  

2017《面向对象程序设计》课程作业五

设计类图

这次的类图对上一次设计好了的类图进行了改善,也保证了栋哥要求的“类是一个名词”的定义,在代码上也丰富了类之间的设计以及类里面的设计,类与类之间的互动也更强了一些。

git链接

git

对于栈的学习

使用栈所需的头文件#include

X.empty()               如果栈为空返回true,否则返回false  
X.size()                返回栈中元素的个数  
X.pop()                 删除栈顶元素但不返回其值  
X.top()                 返回栈顶的元素
X.push()                压入栈
stack<type> tom;//栈的定义

由于之前做过PTA上模拟队列的题,也在看了相关的栈的知识之后,对栈有了更深的理解,不过印象比较深刻的还是栈与堆的差别:栈是由系统分配的,而堆则是我们自己去申请的,相较还是堆会灵活一些,但是栈的效率却要高出许多,我想这也是为什么要进行对栈深入学习的原因吧

本次作业的感想

这次作业跟上一次的作业很好地结合在了一起,类似是上次主体是理论,这次主体是实践,固然分析十分重要,但是想分析设计实现的这一步也很重要,过程中有试图使用最近刚学的友元函数,虽然这样会使得代码更简洁,但是有违C++封装的一个宗旨,所以最后也没有采用这种方法。

posted on 2017-05-21 23:31  tomvii  阅读(178)  评论(3编辑  收藏  举报