早教吧作业答案频道 -->其他-->
设计一个求各类图形面积的C++程序要求:父类:主要成员函数:定义图形的轮廓;计算面积、周长等子类:各种图形(最少应有圆、矩形、三角形)子类,要求继承父类.
题目详情
设计一个求各类图形面积的C++程序
要求:
父类:主要成员函数:定义图形的轮廓;计算面积、周长等
子类:各种图形(最少应有圆、矩形、三角形)子类,要求继承父类.
要求:
父类:主要成员函数:定义图形的轮廓;计算面积、周长等
子类:各种图形(最少应有圆、矩形、三角形)子类,要求继承父类.
▼优质解答
答案和解析
你的问题只要求计算图形的面积,而每个图形除了边数外(当然圆等图形是曲线),就没有其他的可以抽象的东西了,所以这就决定了父类会很简单,除了计算面积没其他的操作了.在父类中重载了计算面积的方法,这个方法只有两个功能,识别不同的图形,这是由边数决定的,还有就是计算面积.而关于派生,不同的图形具有不同的边,这就可以调用不同的父类方法.我在子类中声明了公有的成员变量,一般情况下这在程序中是应该坚决杜绝的,此处仅作为演示.如果不定义公有,可以在子类中写个函数返回它们的值.如果还想添加其他的图形的面积计算方法,是类似的.代码如下:
#include
#include
#define PI 3.14
using namespace std;
class Shape //Shape这个类里面重载了计算面积的函数
{
public:
float Shape::GetArea(float radious)//计算圆的面积
{
return float (PI*radious*radious);
}
float Shape::GetArea(float side1, float side2, float side3)//计算三角形面积
{
float average=(side1+side2+side3)/2;
return float (sqrt(average * (average-side1) * (average-side2) * (average-side3)));
}
float Shape::GetArea(float side1, float side2)//计算长方形面积
{
return float (side1 * side2);
}
};
class Triangle : public Shape
{
public:float side1, side2 ,side3;
public:
Triangle()
{
coutside2>>side3;
}
};
class Circle : public Shape
{
public:float radious;
public:
Circle()
{
cout
#include
#include
#define PI 3.14
using namespace std;
class Shape //Shape这个类里面重载了计算面积的函数
{
public:
float Shape::GetArea(float radious)//计算圆的面积
{
return float (PI*radious*radious);
}
float Shape::GetArea(float side1, float side2, float side3)//计算三角形面积
{
float average=(side1+side2+side3)/2;
return float (sqrt(average * (average-side1) * (average-side2) * (average-side3)));
}
float Shape::GetArea(float side1, float side2)//计算长方形面积
{
return float (side1 * side2);
}
};
class Triangle : public Shape
{
public:float side1, side2 ,side3;
public:
Triangle()
{
coutside2>>side3;
}
};
class Circle : public Shape
{
public:float radious;
public:
Circle()
{
cout
看了 设计一个求各类图形面积的C+...的网友还看了以下:
如图,点a,b在圆0上,ab=ac,角b0c=120度求证三角形abc的形状是等边三角形,求角c 2020-05-17 …
两道矩形几何题(初二)急!1.已知平行四边形ABCD的两条对角线AC,BD相交于点O,三角形AOB 2020-06-03 …
初一几何题:已知三角形ABC和三角形BDE为等边三角形,求角EAB的度数已知三角形ABC和三角形B 2020-06-27 …
初一几何有图:已知三角形ABC和三角形BDE为等边三角形,求角EAB的度数已知三角形ABC和三角形 2020-06-27 …
直角三角形求角度已知一个Rt△,∠C=90°.a,b,c均已知,怎样算出∠A,∠B不要查表.不要反 2020-08-03 …
直角三角形求角度已知直角三角形两个直角边的长度分别是1.5和9.2求两个锐角的角度 2020-08-03 …
直角三角形求角,本来学过,都忘记了,直角三角形,已知高a86,低边b60,求角a多少度? 2020-11-11 …
三角形求各角角度直接三角形.和普通三角形.已经知道三条边的边长.比如一个直觉三角形.3,4,5为边长 2020-12-07 …
直角三角形求角度直角三角形三边可知,但不知道任何一个角,就想求直角三角形其他两个角角度 2020-12-25 …
已知:以三角形ABC的两边AB,AC为边向外做等腰三角形ADB和等腰三角形AEC,且AB=AD,AC 2021-01-10 …