继承与多态性实验:图形类与图书馆管理系统设计与实现.pdfVIP

  • 0
  • 0
  • 约1.89千字
  • 约 2页
  • 2026-01-15 发布于北京
  • 举报

继承与多态性实验:图形类与图书馆管理系统设计与实现.pdf

实验5-6继承与多态

1.实验目的和要求:

(1)掌握继承与法体系,

(2)理解多态性、虚拟函数、抽象类和具体类、静态绑定和动态绑定等概念

(3)学会利用虚函数来实现多态性,以便更好地来扩展和系统

2.实验内容:

(1)实现下图中的Shape层次结构。

每个二维图形类应包括图形名、平面位置(Point2D点对象)、边长或半径等数据成员,

成员函数包括有参构造函数、输出以及计算二维图形的面积和周长。

每个三维图形类应包括图形名、空间位置(Point3D点对象)、边长或半径等数据成员,

包含有参构造函数、输出以及计算三维图形的表面积和体积的成员函数。

应把它们在那个类中为虚函数或纯虚函数?用一个图形数组存放各种图形类对象,

并用循环结构统一输出对象得相应信息,二维图形输出类名、各自数据成员、周长和面积,

三维图形输出类名、各自数据成员、表面积及体积。

Shape

TwoDimensionalShapeThreeDimensionalShape

CircleSquareTriangleCubeSphere

(2)利用面向对象的思想为“馆”设计一个管理程序。馆馆藏(Publication)

可分为(Book)类、报纸(Newspaper)类和(Magzine)类。所有馆藏都应保存

它们的名称(书名、报纸名等)。此外应保存的作者信息;报纸需要保存它的

时间;需要保存它的时间和期刊号。

有一个馆类Library,如下:

classLibrary{

Publication*publications[100];//所有馆藏,假设馆藏上限为100

staticinttotal;//实际馆藏数

public:

voidadd(Publicationp);//添加新馆藏

voidshow();//输出所有馆藏的相应信息

}

在主函数中测试该类,由用户按任意顺序构造几个物(、报纸、)的实

例,使他们加入馆,并输出所有物各自的信息,如:

C++zhengli

Thames2010/1/1

DuZhe2011/5/1第10期

(3)前面的实验中曾经设计过的简单字符串类myString,包含输入字符串、返回字符串长度

及内容等功能,并重载一些运算符实现字符串连接、比较和返回字串的功能;在此基础上,

利用继承设计一个具有编辑功能的串类edit_string,增加一个表示串中位置的数据成员int

pos,并增添新的成员函数,使其能在串中指定位置处的进行字符串、替换字符和删除

后续子串等编辑功能,并能查找子串位置。编写一个程序,实现并测试字符串的相关操作。

(4)[选作]模拟4S店的工资管理系统,设计多继承的层次结构,主要有4类人员:经理、

技术人员、销售员和销售经理。要求这些人的编号、和月工资,计算月工资并

显示全部信息。

月工资计算办法是:经理拿固定月薪8000元,技术人员按每小时100元领取月薪,

销售员按当月销售额的4%提成,销售经理既拿固定月工资也领取销售提成,固定月工资为

5000元,销售提成为所管辖部门当月销售总额的5‰。

设计一个异质链表,将各类人员串联起来,并用遍历链表的方法,将输出所有人员的信

息。

3.结合上机体会,回答下列问题

(1)说出静态绑定和动态绑定的区别,并试解释说明两种绑定究竟是如何实现的?

(2)什么是虚函数?请说明虚函数适用的环境,即满足什么条件虚函数可以实现动态多态。

(3)举例说明多态性是如何提高可扩展性的?

文档评论(0)

1亿VIP精品文档

相关文档