菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
90
0

p243_5(3)

原创
05/13 14:22
阅读数 89643

源程序:

#include <iostream>
#include <cmath>
#define PI 3.1415926
using namespace std;

class Geometry
{
public:
Geometry() {};
~Geometry() {};
virtual double Get_Area()
{
return 0.0;
}
virtual double Get_Perimeter()
{
return 0.0;
}
};
//子类:圆
class Circle :public Geometry
{
protected:
double radius;
public:
Circle() {};
Circle(double r)
{
radius = r;
}
~Circle() {};
double Get_Area()
{
return PI*radius*radius;
}
double Get_Perimeter()
{
return 2 * PI*radius;
}
};

//圆的子类:球
class Ball :public Circle
{
public:
Ball(double rr) :Circle(rr)
{
}
double Get_Area()
{
return 4 * PI * radius * radius ;
}
};

//圆的子类:圆柱
class Column :public Circle
{
private:
double h;
public:
Column(double rr,double hh) :Circle(rr)
{
//r = rr;
h = hh;
}
double Get_Area()
{
return 2 * PI * radius * radius + 2 * PI * radius * h;
}

double Get_Volume()
{
return PI * radius * radius * h;
}
};


//子类:正方形
class Square :public Geometry
{
private:
double side;
public:
Square(double a)
{
side = a;
}
~Square() {};
double Get_Area()
{
return side*side;
}
double Get_Perimeter()
{
return 4*side;
}
};

//子类:三角形
class Triangle :public Geometry
{
private:
double a,b,c;
public:
Triangle(double aa,double bb,double cc)
{
a = aa;
b = bb;
c = cc;
}
~Triangle() {};
double Get_Area()
{
int dd = (a + b + c) / 2;
return sqrt(dd*(dd-a)*(dd-b)*(dd-c));
}
double Get_Perimeter()
{
return a+b+c;
}
};

int main()
{
Geometry *p[3];
p[0] = new Circle(5.5);
p[1] = new Square(6.6);
p[2] = new Triangle(3.0,4.0,5.0);

cout<<"圆的面积为:"<<p[0]->Get_Area()<<endl;
cout << "圆的周长为:"<< p[0]->Get_Perimeter() << endl;

cout << "正方形的面积为:" <<p[1]->Get_Area() << endl;
cout << "正方形的周长为:" <<p[1]->Get_Perimeter() << endl;

cout << "三角形的面积为:" << p[2]->Get_Area() << endl;
cout << "三角形的周长为:" << p[2]->Get_Perimeter() << endl;

system("pause");
return 1;

}

运行结果:

 

发表评论

0/200
90 点赞
0 评论
收藏
为你推荐 换一批