经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C++ » 查看文章
C++计算圆形、矩形和三角形的面积
来源:jb51  时间:2022/1/2 10:24:44  对本文有异议

题目描述

运用多态编写程序,声明抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea()分别输出以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。

输入

圆的半径 矩形的边长 三角形的底与高

输出

圆的面积

矩形的面积

三角形的面积

注意:每一行后有回车符

样例输入

12.6 4.5 8.4 4.5 8.4

样例输出

area of circle=498.76

area of rectangle=37.80

area of triangle=18.90

代码实现

  1. #include<iostream>
  2. #include<iomanip>
  3. #define PI 3.1415926
  4. using namespace std;
  5. class Shape {
  6. public:
  7. virtual double printArea()=0;
  8. };
  9. class Circle:public Shape {
  10. private:
  11. double r;
  12. public:
  13. Circle(double x) {
  14. r=x;
  15. }
  16. virtual double printArea() {
  17. return PI*r*r;
  18. }
  19. };
  20. class Rectangle:public Shape {
  21. private:
  22. double w,h;
  23. public:
  24. Rectangle(double x,double y) {
  25. w=x,h=y;
  26. }
  27. virtual double printArea() {
  28. return w*h;
  29. }
  30. };
  31. class Triangle:public Shape {
  32. private:
  33. double w,h;
  34. public:
  35. Triangle(double x,double y) {
  36. w=x,h=y;
  37. }
  38. virtual double printArea() {
  39. return w*h/2;
  40. }
  41. };
  42. double printArea(Shape &x) {
  43. return x.printArea();
  44. }
  45. int main() {
  46. double a,b,c,d,e;
  47. cin>>a>>b>>c>>d>>e;
  48. Circle cir(a);
  49. Rectangle rec(b,c);
  50. Triangle tri(d,e);
  51. cout<<fixed<<setprecision(2)<<"area of circle="<<printArea(cir)<<'\n';
  52. cout<<fixed<<setprecision(2)<<"area of rectangle="<<printArea(rec)<<'\n';
  53. cout<<fixed<<setprecision(2)<<"area of triangle="<<printArea(tri)<<'\n';
  54. return 0;
  55. }

以上所述是小编给大家介绍的C++计算圆形、矩形和三角形的面积,希望对大家有所帮助。在此也非常感谢大家对w3xue网站的支持!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号