实验6 类的继承与派生

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验5 类的继承与派生

一.实验目的

⒈掌握C++类的继承编程方法。

⒉掌握构造函数链的调用次序。

二.实验时间

2节课。

三.实验内容

定义一个基础类Shape,在此基础上派生出Rectangle和Circle,在Rectanlge 的基础上派生出RoundRectangle类。这些类都包括一个计算面积的getArea()函数。

提示:圆角矩形,就是在矩形类的基础上增加了圆角半径这个属性,由于四个圆角刚好可以构成一个圆,自己推算一下它的求面积公式。

要求:

(1)定义Shape,Rectangle,Circle,RoundRectangle类。(Shape类中包括color属性,类型为string;其他类中所需要的属性自己定义)

(2)在每个类中定义有参构造函数和无参构造函数,析构函数,用于访问属性的get/set函数和getArea函数

(3)编写测试程序观察构造函数、析构函数的调用过程。

(4)创建两组Shape,Rectangle,Circle,RoundRectangle对象(分别调用无参构造函数和有参构造函数创建),并显示每个对象的颜色和面积(用打印语句显示是什么颜色,面积是多少)。

实验前思考题:

1. 如何正确的画出Shape,Rectangle,Circle,RoundRectangle类的继承关系图(类图)?

2. 在定义类图的时候有什么原则需要遵循?

四.实验要求

1.结合上课内容,写出程序,并调试程序,要给出程序的测试数据和实验结果。

2.整理上机步骤,总结经验和体会。

3.完成和上交源程序。

课前思考题,类图如下:

Shape

-color

+getArea()

Circle -radius

+getArea()

Rectangle

-width

-height

+getArea()

RoundRectangle -roundRadius

+getArea()

相关文档
最新文档