c++几何图形设计。要求如图。 求大神给出两个图形代码让俺参考参考。

 我来答
wdghy123
2015-06-24 · TA获得超过1583个赞
知道大有可为答主
回答量:1514
采纳率:95%
帮助的人:761万
展开全部
#include <iostream>

using namespace std;


#define PI 3.1415926
class Graphs2D
{
public:
//计算周长
virtual double CalcPerimeter() = 0;
//计算面积
virtual double CalcArea() = 0;
};

class Circle : public Graphs2D
{
public:
Circle(double radius):r(radius){}
public:
virtual double CalcPerimeter()
{
return 2 * r * PI;
}
virtual double CalcArea()
{
return PI * r * r;
}

private:
double r;
};

class Rect : public Graphs2D
{
public:
Rect(double height,double width):h(height),w(width){}
public:
virtual double CalcPerimeter()
{
return 2 * (h + w);
}
virtual double CalcArea()
{
return h * w;
}

private:
double h;
double w;
};

class Graphs3D
{
public:
//计算表面积
virtual double CalcSurfaceArea() = 0;
//计算体积
virtual double CalcVolume() = 0;
};

class Cylinder : public Graphs3D
{
public:
Cylinder(double radius,double height):r(radius),h(height){}

public:
virtual double CalcSurfaceArea()
{

return 2 * PI * r * r + 2 * PI * r * h;
}

virtual double CalcVolume()
{
return PI * r * r * h;
}

private:
double r;
double h;
};


int main()
{
Graphs2D* pCircle = new Circle(3.0);
Graphs2D* pRect = new Rect(5.0,6.0);
Graphs3D* pCylinder = new Cylinder(2.0,5.0);

cout << "圆的周长为:" << pCircle->CalcPerimeter() << ",面积为:" << pCircle->CalcArea() << endl;
cout << "矩形的周长为:" << pRect->CalcPerimeter() << ",面积为:" << pRect->CalcArea() << endl;
cout << "圆柱体的表面积为:" << pCylinder->CalcSurfaceArea() << ",体积为:" << pCylinder->CalcVolume() << endl;

return 0;
}
追问

不好意思 必须要用到这些  我忘记发了

追答
class Graphs3D
{
public:
//计算表面积
virtual double area() const = 0;
//计算体积
virtual double volume() const = 0;
virtual void print() const = 0;
};

class Cylinder : public Graphs3D
{
public:
Cylinder(double r = 0.0,double h = 0.0):radius(r),height(h){}

public:
virtual double area() const
{

return 2 * PI * radius * radius + 2 * PI * radius * height;
}

virtual double volume() const
{
return PI * radius * radius * height;
}

virtual void print() const
{
cout << "圆柱体的表面积为:" << this->area() << ",体积为:" << this->volume() << endl;
}

private:
double radius;
double height;
};
博思aippt
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景。ai生... 点击进入详情页
本回答由博思aippt提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式