早教吧作业答案频道 -->其他-->
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.求几何体:长...的网友还看了以下:
He()aplanforthecommitteetoconsiderA.putawayB.puto 2020-05-13 …
T细胞具有短期保护(效应T细胞)和长期保护(记忆T细胞)的分T,下列叙述正确的是()A.T细胞在胸 2020-05-14 …
负反馈判断反馈电路接在输出端的是电压反馈,接在别处的是电流反馈反馈电路不都是接在输出端的吗?就是三 2020-05-17 …
嵌合抗原受体修饰T细胞免疫治疗肿瘤请问T细胞具有肿瘤细胞杀伤能力,治疗肿瘤的时候为什么不直接培养T 2020-05-17 …
物理中字母t我能不能这样说:设时间为t设时间为t秒还是两个都对是不是考试中两个都可以写 2020-06-06 …
研究发现调节性T细胞具有抑制免疫反应的功能、防止免疫反应过度损伤自身,调节性T细胞数量由Mcl-l 2020-06-10 …
玩具车间每天能生产甲种玩具零件24个或乙种玩具零件12个,若甲种玩具零件一个与乙种玩具零件2个能组 2020-06-23 …
信号与系统,关于冲激平衡法冲激平衡法的使用有没有限制条件?是只能应用于LT吗I.给出题目y"(t) 2020-07-05 …
能具体解释如何用压缩映射定理吗(泛函分析)证明:存在闭区间[0,1]上的连续函数x(t),使得能具 2020-07-29 …
研究发现,调节性T细胞具有抑制免疫的功能,Mcl-1蛋白可使其数量增加,Bim蛋白可使其数量减少, 2020-07-30 …