抽象基类

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

输入格式:

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

输出格式:

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

输入样例:

在这里给出一组输入。例如:

3 3 4 3 4

输出样例:

在这里给出相应的输出。例如:

28.27
12.00
6.00
复制代码
 1 #include <bits/stdc++.h>
 2 #define PI 3.14159
 3 #include <math.h>
 4 using namespace std;
 5 class Shape {
 6     virtual  void area()=0;
 7 };
 8 class Circle:public Shape
 9 {
10 private:
11 int r;
12 public:
13 Circle(int a){r=a;}
14 void area(){printf("%.2f\n",PI*r*r);
15 }
16 };
17 class Rectangle:public Shape
18 {private:
19 double gao,kuan;
20 public:
21 Rectangle(double g,double k){
22 gao=g;
23 kuan=k;
24 }
25 void area(){
26 printf("%.2f\n",gao*kuan);
27 }
28 };
29 class Triangle : public Shape
30 {
31 private:
32 int ga,di;
33 public:
34 Triangle(int g2,int d){
35 ga=g2;
36 di=d;
37 }
38 void area(){
39 printf("%.2f\n",0.5*ga*di);
40 }
41 };
42 int main(){
43     int r,g,k,g2,d;
44         cin>>r>>g>>k>>g2>>d;
45     Circle bb( r);
46     Rectangle cc(g, k);
47     Triangle dd( g2, d);
48     bb.area();
49     cc.area();
50     dd.area();
51     return 0;
52 }
复制代码

 

posted @   刘冰宇  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示