早教吧作业答案频道 -->其他-->
c++编程题1.求几何体:长方体和圆柱体的体积。具体要求如下:(1)设计一个立体图形类(CStereoShape类),并满足如下要求:CStereoShape类有一个纯虚函数GetArea,能够获取立方体的表面积
题目详情
c++编程题
1. 求几何体:长方体和圆柱体的体积。具体要求如下:
(1) 设计一个立体图形类(CStereoShape类),并满足如下要求:
CStereoShape类有一个纯虚函数GetArea,能够获取立方体的表面积。
CStereoShape类有一个纯虚函数GetVolume,能够获取立方体的体积。
(2) 设计一个立方体类(CCube类),该类继承于CStereoShape类,并满足如下要求:
CCube类有一个带参数的构造函数,其参数分别为立方体的长、宽、高,默认值均为0。
用一个成员函数put来实现对立方体长、宽、高的设置。
重载CStereoShape类的GetArea和GetVolume,分别完成立方体的表面积和体积的计算。
(3) 设计一个球体类(CSphere),该类继承于CStereoShape类,并满足如下要求:
CSphere类有一个带参数的构造函数,其参数对应于球体的半径,默认值均为0。
用一个成员函数put来实现对球体半径的设置。
重载CStereoShape类的GetArea和GetVolume,分别完成球体的表面积和体积的计算。
(4) 在主函数,至少完成如下工作:
实例化一个CCube类的对象a_cube和CSphere类的对象c_sphere;定义一个CStereoShape类的指针p;将a_cube的长、宽和高分别设置为4、5和6;将p指向a_cube,通过p将a_cube的表面积和体积输出;将c_sphere的半径设置为7;将p指向c_sphere,通过p将c_sphere的表面积和体积输出
1. 求几何体:长方体和圆柱体的体积。具体要求如下:
(1) 设计一个立体图形类(CStereoShape类),并满足如下要求:
CStereoShape类有一个纯虚函数GetArea,能够获取立方体的表面积。
CStereoShape类有一个纯虚函数GetVolume,能够获取立方体的体积。
(2) 设计一个立方体类(CCube类),该类继承于CStereoShape类,并满足如下要求:
CCube类有一个带参数的构造函数,其参数分别为立方体的长、宽、高,默认值均为0。
用一个成员函数put来实现对立方体长、宽、高的设置。
重载CStereoShape类的GetArea和GetVolume,分别完成立方体的表面积和体积的计算。
(3) 设计一个球体类(CSphere),该类继承于CStereoShape类,并满足如下要求:
CSphere类有一个带参数的构造函数,其参数对应于球体的半径,默认值均为0。
用一个成员函数put来实现对球体半径的设置。
重载CStereoShape类的GetArea和GetVolume,分别完成球体的表面积和体积的计算。
(4) 在主函数,至少完成如下工作:
实例化一个CCube类的对象a_cube和CSphere类的对象c_sphere;定义一个CStereoShape类的指针p;将a_cube的长、宽和高分别设置为4、5和6;将p指向a_cube,通过p将a_cube的表面积和体积输出;将c_sphere的半径设置为7;将p指向c_sphere,通过p将c_sphere的表面积和体积输出
▼优质解答
答案和解析
#include <iostream>
#define PI 3.141593
using namespace std;
class CStereoShape
{
public:
virtual double GetArea()=0;
virtual double GetVolumn()=0;
};
class CCube :public CStereoShape
{
private:
double length;
double width;
double height;
public:
CCube(double l=0,double w=0,double h=0)
{
width=w;
height=h;
length=l;
}
double GetArea()
{
return 2*(width*height+width*length+length*height);
}
double GetVolumn()
{
return width*length*height;
}
void put(double l,double w,double h)
{
width=w;
height=h;
length=l;
}
};
class CSphere:public CStereoShape
{
private:
double radius;
public:
CSphere(double r=0)
{
radius=r;
}
double GetArea()
{
return 4*PI*radius*radius;
}
double GetVolumn()
{
return GetArea()*radius/3;
}
void put(double r)
{
radius=r;
}
};
int main()
{
CCube a_cube;
CSphere c_sphere;
a_cube.put(4,5,6);
c_sphere.put(7);
CStereoShape *p;
p=&a_cube;
cout<<"长方体的面积和体积分别是:";
cout<<p->GetArea()<<"\x09"<<p->GetVolumn()<<endl;
p=&c_sphere;
cout<<"圆的面积和体积分别是:";
cout<<p->GetArea()<<"\x09"<<p->GetVolumn()<<endl;
return 0;
}
看了 c++编程题1.求几何体:长...的网友还看了以下:
已知a>0,设命题p:函数y=a^x为减函数,命题q:当x[1/2,2]时,y=x+1/x>1/a 2020-05-17 …
命题中的“结论”等同于为真命题时的“必要条件”吗?当命题“如果p,则q”经过推理证明断定是真命题时 2020-05-17 …
5道立体几何中的画图问题(请写出画法和分析)紧急--------------1、立方体ABCD-A 2020-05-23 …
设P(A)=a,P(B)=b.如果AB不相容,求P(AUB)=如果AB相互独立.求P(AUB)=如 2020-06-12 …
高中集合命题间对应关系,我到现在也没搞清楚命题与集合的关系,比如若p→q,成立那么p是q的充分条件 2020-06-14 …
高三复习命题与集合的相关问题,大师进.我到现在也没搞清楚命题与集合的关系,比如若p→q,成立那么p 2020-06-14 …
金牌由纯银,玉石,纯金组成,金牌的总体积约为23立方厘米,玉石体积5.4立方厘米,纯金的质量约为6 2020-06-16 …
如何证明:AB相互独立,AB非也成立?等问题1,如何证明:AB相互独立,AB非也成立?2,如果P( 2020-08-01 …
1.奥运会的金牌由纯银,玉石,纯金组成,金牌的总体积为23立方厘米,镶嵌玉石的体积约为5.4立方厘米 2020-12-08 …
设命题P:函数f(x)=lg(ax2-x+1/16a)的定义域为R命题Q:不等式√ ̄ ̄(根号头是2x 2020-12-25 …