欢迎来到代码驿站!

当前位置:首页 >

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

时间:2023-03-01 15:11:47|栏目:|点击:

题目描述

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

上一篇:Python利用DNN实现宝石识别

栏    目:

下一篇:android Retrofit2+okHttp3使用总结

本文标题:C++计算圆形、矩形和三角形的面积

本文地址:http://www.codeinn.net/misctech/226704.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有