C++计算圆形、矩形和三角形的面积

 更新时间:2022年01月01日 09:53:37   作者:一条自私的鱼  
这篇文章介绍了C++计算圆形、矩形和三角形面积的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

题目描述

运用多态编写程序,声明抽象基类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

代码实现

#include<iostream>
#include<iomanip> 
#define PI 3.1415926
using namespace std;
class Shape {
    public:
        virtual double printArea()=0;
};
class Circle:public Shape {
    private:
        double r;
    public:
        Circle(double x) {
            r=x;
        }
        virtual double printArea() {
            return PI*r*r;
        }
};
class Rectangle:public Shape {
    private:
        double w,h;
    public:
        Rectangle(double x,double y) {
            w=x,h=y;
        }
        virtual double printArea() {
            return w*h;
        }
};
class Triangle:public Shape {
    private:
        double w,h;
    public:
        Triangle(double x,double y) {
            w=x,h=y;
        }
        virtual double printArea() {
            return w*h/2;
        }
};
double printArea(Shape &x) {
	return x.printArea();
}
int main() {
    double a,b,c,d,e;
    cin>>a>>b>>c>>d>>e;
    Circle cir(a);
    Rectangle rec(b,c);
    Triangle tri(d,e);
    cout<<fixed<<setprecision(2)<<"area of circle="<<printArea(cir)<<'\n';
    cout<<fixed<<setprecision(2)<<"area of rectangle="<<printArea(rec)<<'\n';
    cout<<fixed<<setprecision(2)<<"area of triangle="<<printArea(tri)<<'\n';
    return 0;
}

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

相关文章

  • vc中float与DWORD的互想转换实现代码

    vc中float与DWORD的互想转换实现代码

    这篇文章主要介绍了vc中float与DWORD的互想转换实现代码,需要的朋友可以参考下
    2017-06-06
  • C++实现贪心算法的示例详解

    C++实现贪心算法的示例详解

    这篇文章主要通过几个试题为大家详细介绍了C++中贪心算法的实现,文中的示例代码讲解详细,对我们学习贪心算法有一定的帮助,需要的可以参考一下
    2022-07-07
  • C语言 动态内存分配详解

    C语言 动态内存分配详解

    这篇文章主要介绍了C语言 动态内存分配详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • 通过“回文字算法”复习C++语言

    通过“回文字算法”复习C++语言

    这篇文章主要介绍了通过“回文字算法”复习C++语言的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • C++学习之异常机制详解

    C++学习之异常机制详解

    C++中的异常处理机制可以帮助我们处理程序在运行时可能会遇到的异常情况,比如内存分配错误、文件打开失败等。本文就和大家详细讲讲C++中异常机制的具体使用吧
    2023-04-04
  • C和C++11之enum枚举的具体使用方法

    C和C++11之enum枚举的具体使用方法

    这篇文章主要介绍了C和C++11之enum枚举的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • C语言进阶:指针的进阶(4)

    C语言进阶:指针的进阶(4)

    这篇文章主要介绍了C语言指针详解及用法示例,介绍了其相关概念,然后分享了几种用法,具有一定参考价值。需要的朋友可以了解下
    2021-09-09
  • C语言中的const如何保证变量不被修改

    C语言中的const如何保证变量不被修改

    这篇文章主要给大家介绍了关于C语言中const如何保证变量不被修改的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • C++中的三种继承public,protected,private详细解析

    C++中的三种继承public,protected,private详细解析

    我们已经知道,在基类以private方式被继承时,其public和protected成员在子类中变为private成员。然而某些情况下,需要在子类中将一个或多个继承的成员恢复其在基类中的访问权限
    2013-09-09
  • C++11, 14, 17对tuple元素的访问详情

    C++11, 14, 17对tuple元素的访问详情

    这篇文章主要介绍了C++11, 14, 17对tuple元素的访问详情,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论