早教吧作业答案频道 -->其他-->
设计一个求各类图形面积的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+...的网友还看了以下:
求汽车的最大扭矩和最大爬坡度??整车质量(Kg):1325最大扭矩/转速(N.m/rpm):220 2020-04-07 …
用一根8米长的绳子围成一个矩形,(1)若它的面积为3平方米,求它的边长(2)能否围成一个面积为5平 2020-06-02 …
求与已知矩阵可交换的矩阵的一道题,最后求解齐次方程组有些问题前面提干就是给了一个二阶矩阵,最后的步 2020-06-06 …
求写最短路径算法.由A地到E地,途经B(B1,B2,B3)C(C1,C2,C3)地,基于矩阵乘法求 2020-06-10 …
一重210N、半径为0.2m的轮子放置如图所示,在轮子上作用一力偶,接触处的摩擦因数f=0.268 2020-06-20 …
大学物理问题一皮带传动装备,A、B两轮上套有皮带,外力距M作用在A轮上是其转动,并通过皮带带动B. 2020-07-22 …
有一块半径为R,中心角为45度的扇形铁皮材料,为了获取面积最大的矩形铁皮,工人师傅让矩形的一边在扇 2020-08-01 …
一根绳子最多能承受300N的拉力,要提起1000N的重物,应用什么样的滑轮组?(动滑轮重力不计要求向 2020-11-22 …
自行车后轮胎受到的向前静摩擦力F怎么求?如果用摩擦系数,只能按求最大摩擦系数可是如果按平衡条件求,驱 2020-12-01 …
逆矩阵的问题请帮我求下,下面这个矩阵的逆矩阵,最好有过程的,{1,2,3}{4,5,6}{7,5,9 2021-02-05 …