C++面向对象练习(三)—— 继承的简单练习
本文最后更新于:2020年4月25日 晚上
概览:C++面向对象练习:继承。
代码全部运行于VS2019
博客后续会持续更新补充。
题目
试定义类TRI (三角形)及其派生类COL (三角柱体)。其中三角形类可以计算三角形的面积和周长;三角柱体类可以计算柱体的体积和表面积。具体要求如下:
(1) TRI的成员如下:
私有数据成员
- double x,y,z;分别表示三角形三条边的长度
公有成员函数
- TRI (double x1,double y1,double z1);构造函数,用x1,y1,z1 分别初始化三角形的三条边。在初始化之前,必须先判断x1、y1、 z1能否构成三角形,如果不能构成三角形,则给出提示并退出程序。判断三条边是否构成三角形的方法:任意两边之和大于第三边。
- virtual double area();虚函数,计算三角形的面积.计算公式为:面积=[s*(s-x)(s-y)(s-z)]^0.5.其中,x、y、z分别为三角形三条边的长度,s= (x+y+z)/2。
- double peri(); 计算三角形的周长。
(2)类COL为类TRI的公有派生类,其成员如下:
- 私有数据成员
- double height;表示三角柱体的高度。
- 公有成员函数
- COL (double x1,double y1,double z1,double h);构造函数,用h初始化height,用x1、y1、z1分别初始化基类的成员x、y、z。
- double volume();计算三角柱体的体积。计算公式:体积=底面积X高,其中底面积通过调用基类的成员函数area()计算。
- double area();计算三角柱体的表面积。计算公式:表面积=2X底面积+底面周长X高度,其中底面积和底面周长分别通过调用基类的成员函数area()和prei()计算。
(3)在主函数中,创建一个COL对象co和一个TRI指针*tr,并将tr指向co。通过co调用volume(),计算并输出三角柱体的体积;通过tr调用area(), 计算并输出三角柱体的表面积。
题目来源与参考链接:C++面向对象程序设计50道编程题(第23题)
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!