早教吧 育儿知识 作业答案 考试题库 百科 知识分享

设计一个求各类图形面积的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
看了 设计一个求各类图形面积的C+...的网友还看了以下: