早教吧作业答案频道 -->其他-->
设计一个求各类图形面积的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+...的网友还看了以下:
求排列组合算法,不同数值组合成一米的算法,需求是这样的,有100个不同的产品,每个产品有不同的宽度, 2020-03-30 …
vf中的一个问题?有个表格关于学号,英语,学分.现在建立一个表单,有上面表格的信息,还有个“计算” 2020-04-26 …
如何计算等差数列的成积?如:1*2*3*.*(2n-1)=?1*4*7*.*(3n-2)=?就是想 2020-05-16 …
小孔成像没有焦距,但是可以计算出等效焦距,怎样计算小孔成像原理的相机的等效焦距?假设相机的成像原理 2020-05-17 …
下列程序要求:输入学生某门功课的成绩,计算各成绩等级的人数程序1、根据输入计算并输出某1个班级中各 2020-05-17 …
求数学帝给算算等额本息与等额本金还款计算本人知道肯定等额本息要比等额本金还款总额要多些,但具体多多 2020-06-05 …
63-64=1移动一个数字使等式成立,记住!只可以是数字,只移动一个数字,使这个算式成为等式,千万 2020-07-17 …
我计算能力差老师让我每天练五十道计算题.跪求数学计算题越多越好包括二次函数求顶点坐标、待定系数法求 2020-08-02 …
非常着急啊...在三角形计算中,要求三角型的三个边长:A、B和C.当三边不可能构成三角形时提示错误 2020-08-03 …
等比数列an,若a1a3a5成等差数列求a1+a3+a9/a2+a4+a10这道题和那个已知等差求等 2020-10-31 …