文档详情

实验派生与继承压缩包.pdf

发布:2025-03-08约2.93千字共3页下载文档
文本预览下载声明

实验5派生与继承

一、上机实验内容

1.定义一个图形类Shape,在此基础上派生出正方型类Square和圆Circle类,三者都有

getArea()函数。在主函数中该类族中所有对象,观察基类与派生类构造函数运行时的顺

序及getArea()的使用情况。

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

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

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

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

(1)设计出所有的类(UML图),只需要写出类最主要属性(本题中涉及到的)和函数。

(2)有一个馆类Library,如下:

classLibrary{

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

staticinttotal;//实际馆藏数

public:

voidadd(Publicationp);//添加新馆藏(此函数需完成)

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

for(inti=0;itotal;i++)

publications[i]-show();

}

//此函数可用于输出所有馆藏的相应信息

//如:C++zhengli

//Thames2010/1/1

//DuZhe2011/5/1第10期

//注意不同种类物会输出不同种类的信息。

};

(3)在主函数中构造几个物(、报纸、)的实例,使他们加入馆,并使

用馆的show函数输出信息。观察程序运行结果。

3.编程题,编写一个程序实现小型公司的工资管理。

该公司主要有4类人员:经理、技术人员、销售员和销售经理。要求这些人的

编号、和月工资,计算月工资并显示全部信息。

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

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

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

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

及内容等功能,并能实现字符串连接与比较;利用该类派生一个具有编辑功能的串类

edit_string,增加一个表示串中位置的新数据成员,并增添新的成员函数,使其能在串中指定

位置处的进行字符串、替换字符和删除后续子串等编辑功能,并能查找子串。编写一个

程序,实现并测试字符串的相关操作。

二、思考题

1.简述C++三种继承方式之间的相似与不同:公有继承、私有继承、保护继承。

2.简述带有内嵌对象的派生类构造函数执行的顺序是怎样的?

3.C++程序在什么情况下,必须使用虚基类?能够解决怎样的问题?

4.设计馆管理程序中类的关系,用UML图描述所有的类,需要体现类的关系,

以及类最主要属性和函数。

5.类与类之间的关系有哪几种

显示全部
相似文档