早教吧作业答案频道 -->其他-->
c++中的继承与派生先定义“高度”类Hight和“圆”类Circle,再由HIght和Circle多重派生出“圆柱体”类Cylinder.在主函数中定义一个圆柱体对象,调用成员函数求出圆柱体的体积和表面积.(用C++语言
题目详情
c++中的继承与派生
先定义“高度”类Hight和“圆”类Circle,再由HIght和Circle多重派生出“圆柱体”类Cylinder.在主函数中定义一个圆柱体对象,调用成员函数求出圆柱体的体积和表面积.(用C++语言写出该程序,要有详细注释)
先定义“高度”类Hight和“圆”类Circle,再由HIght和Circle多重派生出“圆柱体”类Cylinder.在主函数中定义一个圆柱体对象,调用成员函数求出圆柱体的体积和表面积.(用C++语言写出该程序,要有详细注释)
▼优质解答
答案和解析
#include
using namespace std;
#define PI 3.14
class Hight
{
public:
Hight(double hight)
{
this->hight = hight;
}
void setHight(double hight)
{
this->hight = hight;
}
double getHight()
{
return this->hight;
}
private:
double hight;
};
class Circle
{
public:
Circle(double radius)
{
this->radius = radius;
}
void setRadius(double radius)
{
this->radius = radius;
}
double getRadius()
{
return this->radius;
}
private:
double radius;
};
class Cylinder : Hight, Circle
{
public:
Cylinder(double h, double r):Hight(h), Circle(r)//初始化
{
}
//得到表面积
double getArea()
{
return 2*PI*getRadius()*getHight();
}
//得到体积
double getVolume()
{
return PI*getRadius()*getRadius()*getHight();
}
};
void main()
{
double r,h;
coutr>>h;
Cylinder *cd = new Cylinder(h, r);
cout
using namespace std;
#define PI 3.14
class Hight
{
public:
Hight(double hight)
{
this->hight = hight;
}
void setHight(double hight)
{
this->hight = hight;
}
double getHight()
{
return this->hight;
}
private:
double hight;
};
class Circle
{
public:
Circle(double radius)
{
this->radius = radius;
}
void setRadius(double radius)
{
this->radius = radius;
}
double getRadius()
{
return this->radius;
}
private:
double radius;
};
class Cylinder : Hight, Circle
{
public:
Cylinder(double h, double r):Hight(h), Circle(r)//初始化
{
}
//得到表面积
double getArea()
{
return 2*PI*getRadius()*getHight();
}
//得到体积
double getVolume()
{
return PI*getRadius()*getRadius()*getHight();
}
};
void main()
{
double r,h;
coutr>>h;
Cylinder *cd = new Cylinder(h, r);
cout
看了c++中的继承与派生先定义“高...的网友还看了以下:
设函数f(x)=tx²2t²x+t-1(x∈R,t>0),(1)求f(x)的最小值h(t);(2) 2020-05-23 …
选择运算(σ):σF(R)={t|t∈R∧F(t)=TRUE}选择运算是对一个二维表按条件F进行横向 2020-05-24 …
设函数f(x)=tx²+2t²x+t-1(t∈R,t>0)(1)求f(x)的最小值h(t)(2)若 2020-06-02 …
已知dv=t[R·v0cosθ+r·v0·cosθ+RC0·r+C0·r2]·dr·dθ其中t、R 2020-07-09 …
matlab求解二阶导数方程,四个方程四个未知量>>symst>>E=32;G=10.81;b=2 2020-07-19 …
这个微分方程怎么解!r(t)^2+3r(t)^1+2r(t)=e(t)^2+2e(t)^1+e(t 2020-07-23 …
什么是二项式的通式?在二项式定理(a+b)^n=C(n,0)a^n+C(n,1)a^(n-1)b+ 2020-07-31 …
反三角函数求角度已知:X,Y,Z,求角度aXcosa+Ytga+sina*tga全奉上,(D-d) 2020-08-02 …
已知质点运动方程为r(t)=x(t)i+y(t)j其中x(t)=(m/s)t+2m,y(t)=(1/ 2020-11-01 …
一物体沿半径分别为r和R的半圆弧由A经B运动到C,经历的时间为t,如图所示,则它的平均速度和平均速率 2020-11-26 …