早教吧作业答案频道 -->其他-->
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.求几何体:长...的网友还看了以下:
试编写一个汇编语言程序段,计算(W—(X×Y+Z—540))/X。其中X、Y、Z、W均为16位带符 2020-04-07 …
● 以下编码方法中, (40) 不属于统计编码。 (40)A. 哈夫曼编码 B. 差分脉冲编码 C. 2020-05-26 …
常用的统计编码方法包括哈夫曼编码和算术编码,其中(41)。A.算术编码需要传送码表,哈夫曼编码采用0 2020-05-26 …
以下编码方法中,(40)不属于统计编码。A.哈夫曼编码B.差分脉冲编码C.算术编码D.香农-范诺编码 2020-05-26 …
设有一台计算机的指令系统共有10条指令,他们的使用频率分别为:0.19,0.12,0.10,0.1 2020-06-13 …
经济业务发生后,一般可编制的会计分录有()A、一借一贷B、一借多贷C、多借一贷D、多借多贷运用借贷 2020-06-20 …
一家草编工艺品厂按计件方式结算工资.大学生小华去这家工艺品厂打工,第一天的到工资60元,第二天小华 2020-06-23 …
设有一台计算机的指令系统共有10条指令,他们的使用频率分别为:0.19,0.12,0.10,0.1 2020-07-02 …
Java编写一程序编写一程序,实现下面功能.(1)随机产生200个三位的正整数,按每行10个数输出 2020-07-17 …
一个java编程题目,要考试了设有一个四位数,它的四位数字分别是ABCD,而其又满足一下条件:AB 2020-07-17 …