C++实验7 多态性与虚函数.docVIP

  • 85
  • 0
  • 约1.32千字
  • 约 3页
  • 2017-06-14 发布于广东
  • 举报
C实验7多态性与虚函数

问题背景: 将任意一个平面图形(如长方形、三角形、圆形等)沿其法线方向平移一定长度,它所扫过的空间区域为一个柱体。例如,长方形、圆形和三角形所形成的柱体分别如图(a)(b)(c)所示。 (a) 四棱柱 (b) 圆柱 (c) 三棱柱 实验题: 柱体的体积和表面积计算公式分别为: 式中,和分别为柱体的底面积和底面周长。 请用C++语言编写面向对象程序,实现柱体体积和表面积的计算(圆柱和四棱柱为必做内容,三棱柱为选做内容)。例如底面半径为2、高为4的圆柱,体积为50.27,表面积为75.40;以长为3、宽为2的长方形为底面,高为5的四棱柱,体积为30,表面积为62。 运行结果示例: 提示: 注意:以下定义的类中,若未给出构造函数、析构函数及输出函数,请根据需要添加。 定义一个描述平面图形的抽象类Plane,其成员函数如下表: 函数名 访问权限 形参 返回值 功能 虚函数? area public void float 求面积 纯虚函数 girth public void float 求周长 纯虚函数 2、定义一个描述柱体的类Body: (1) 类Body的成员变量如下表: 变量名 访问权限 类型 含义 pbasic private Plane * 指向柱体的底面图形 high private float 给出柱体的高 (2) 类Body的成员函数如下表: 函数名 访问权限 形参 返回值 功能 虚函数? volume public void float 求体积 否 surfaceArea public void float 求表面积 否 3、从抽象类Plane派生出具体类(如长方形类Rectangle、圆形类Circle和三角形类triangle),根据实际情况,覆盖基类Plane的纯虚函数area和girth,如下表。 函数名 访问权限 形参 返回值 功能 虚函数? area public void float 求面积 自动为虚函数 girth public void float 求周长 自动为虚函数 长方形类Rectangle的成员变量为 变量名 访问权限 类型 含义 a private float 给出长方形的长 b private float 给出长方形的宽 (2) 圆形类Circle的成员变量为 变量名 访问权限 类型 含义 a private float 给圆形的半径 (3) 三角形类Triangle的成员变量为 变量名 访问权限 类型 含义 A private Point 给出三角形的顶点A B private Point 给出三角形的顶点B C private Point 给出三角形的顶点C 其中,Point为描述平面点的类,其成员变量为: 变量名 访问权限 类型 含义 x public float 给出顶点的x坐标 y public float 给出顶点的y坐标 已知三角形的三个顶点坐标分别为、、。 则三角形的面积公式为: 周长公式为:

文档评论(0)

1亿VIP精品文档

相关文档