2020-03-03 00:03:26 来源:范文大全收藏下载本文
面向对象程序设计大作业实验报告
计算机2000班
周博慧
学号 200035003203244 2001年 12月 5日
一,功能介绍
程序采用C++为设计语言,使用VISUAL C++提供的头文件,操作平台基于dos平台,适用的分辨率为600*480。
程序的设计目的是为一家船工厂建立库存清单。它能够实现的功能有:
1,输入库存(船,零件)的基本情况; 2,改变船或者零件的库存量; 3,查询现存的零件数量; 4,显示库存的基本情况。
二,基本结构
1,类的说明
程序共定义了四个类类型,它们分别是:stock(库存)类,part(零件)类,ship(船)类,stocklist类(库存链表类)。
其中,stock作为基类被part类和ship类公有继承,part类和ship类分别作为stock的派生类存在,两者无其它联系;stock-list类作为一个独立的类而存在。
2,成员说明
stock类定义了两类成员:
A)保护成员:包括current-level(当前库存量)和price(价格;对于零件而言是厂商的成本;对于船而已是销售给销售商的价格)。
B)公有成员:包括stock();get-level();change-level();get-price();change-price();~stock()六个成员函数。
其中,get-level()返回当前的库存量;change-level()改变库存量;get-price()得到库存价格;
change-price()改变商品价格;~stock()显示目前某型号零件或某种船模型的库存量。change-level ()和~stock()被设置为虚函数。
part类除了自stock类继承的成员以外,还定义了两类成员,分别是:
A)私有成员:reorder-level(零件的定货量)和part-num(零件的型号);在这里要求零件的型号由一个字母两个数字组成。
B)公有成员:part();get-part();set-reorder();~part()四个成员函数。
其中,get-part()返回零件型号;set-reorder()设置定货量;~part()显示零件型号。
ship类除了自stock类继承的成员以外,还定义了两类成员,分别是:
A)私有成员:model(船的型号,要求输入字符);engine-size(引擎规格,要求输入数字);max-speed(船的最高速度)。
B)公有成员:ship();get-model();~ship()三个成员函数。
其中,get-model()返回船的型号,与零件型号不同,这里要求的是全字符;~ship()显示型号名称。
stock-list类包含了一个“指针对节点”类型的实例变量,程序运行的时候,指针将接收到一个part类对象或者ship类对象的地址,它也定义了两类成员:
A)私有成员:只定义了一个返回类型为stock-node结构(自定义的库存结点结构)的指针head-ptr。
B)公有成员:包括stock-list();insert-stock();find-part();find-ship();display-list();~stock-list()五个成员函数。
其中,stock-list()把库存清单的首地址设置为空,为以后建立库存清单做准备;insert-stock()输入零件或者船的基本数据;find-part()查找零件数据;find-ship()查找船数据;display-list显示库存情况;~stock-list()释放旧地址占用的空间。
3,结构说明
本程序包括两个c++ header file和三个c++ source file。 c++ header file包括shipparts.h和stocklist.h;c++ source file包括shipparts.cpp,stocklist.cpp和mainstock.cpp。
三,心得体会
通过这次大作业的设计,我对C++熟悉了很多,更深刻的体会到C++编程序的优点,加深了对类封装性和继承的理解,熟悉了vc的操作,也丰富了自己的编程经验。
同时,我也深深体会到自己的很多不足,没有很彻底的领会面向对象程序设计的优点,不能很好的构建层次清晰而且分类详细的继承体系,没有建立良好的辨认错误输入发出警告的防御系统,不能检查出一般的输入错误,程序能够实现的功能很少。而且,由于个人编程经验的严重缺乏,程序的适用性极低。
以后要进一步学习c++的编程技巧,增强自己的编程能力。
人人范文网 m.inrrp.com.cn 手机版