7-2抽象基类

声明抽象基类Shape,由它派生出三个类,圆形Circle,矩形Rectangle,三角形Triangle,用一个函数输出三个面积。

输入格式:

在一行中依次输入5个数,圆的半径,长方形的高和宽,三角形的高和底,中间用空格分隔

输出格式:

圆的面积,长方形的面积,三角形的面积,小数点后保留2位有效数字,每个面积占一行。

#include<bits/stdc++.h>
using namespace std;

const PI=3.141592654;
class Shape{
public:
virtual double show()=0;
};
class Cricle:public Shape{
public:
Cricle(double a)
{
r=a;
}
double show()
{
return r*r*PI;
}
private:
double r;
};
class Rectangle:public Shape{
public:
Rectangle(double a,double b)
{
h=a;
w=b;
}
double show()
{
return w*h;
}
private:
double w,h;
};
class Triangle:public Shape{
public:
Triangle(double a,double b)
{
th=a;
tb=b;
}
doble show()
{
return tb*th/2;
}
private:
double th,tb;
}
int main()
{
double a,b,c,d,e;
cin>>a>>c>>d>>e;
Circle s1(a);
s1.show();
Rectangle s2(b,c);
s2.shoe();
Triangle s3(d,e);
s3.show();
return 0;
}

posted @ 2023-05-24 22:54  chrisrmas、  阅读(36)  评论(0编辑  收藏  举报