定义一个基类圆形Circle类
题目
定义一个基类圆形Circle类
定义一个基类圆形Circle类,它有一个私有数据成员radius和成员函数Area().Area()可以求圆的面积.从Circle类可以派生出圆柱体Cylinder类,它有自己的私有数据成员高度height,它也有成员函数Area()来求圆柱体的表面积.分别建立Circle类和Cylinder类的对象,设计一个函数分别求它们的面积,试用虚函数来解决多态问题.
答案
#include "stdio.h"
const double P=3.14;
class Circle{
public:
virtual double Area();
void R(double s);
double getr();
private:
double radius;
};
void Circle::R(double r)
{
radius=r;
}
double Circle::getr()
{
return radius;
}
double Circle::Area()
{
return P*radius*radius;
}
class Cylinder:public Circle
{
public :
Cylinder(double h1);
double R(double r);
double Area();
void A(Circle cc);
private :
double h;
double s;
};
Cylinder::Cylinder( double h1)
{
h=h1;
}
void Cylinder::A(Circle cc)
{
s=cc.Area()+2*P*h*cc.getr();
}
double Cylinder::Area()
{
return s;
}
void main()
{
Circle c;
c.R(1);
printf("圆的面积为:%0.2f
",c.Area());
Cylinder c1(1);
c1.A(c);
printf("圆柱体的面积为:%0.2f
",c1.Area());
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- 根据级数收敛与发散的定义判定级数的收敛性
- 造句子(那什么那什么那什么)用排比句,写家乡
- 已知x1,x2是方程x²-2x+a=0的两个实数根,且x1+2x2=3-根号2
- 已知10^a=20,10^6=1/5,求3^a / 3^6.
- LED发光二极管的发光光谱与半导体禁带宽度有什么关系?为什么发蓝光的LED正向电压要大于发红光的LED正向电压?
- 动词ing变化规则
- 首先问个问题,感官动词没被动形式吧?比如:it tastes strange还是it is tasted strange?
- 已知自然数a1,a2,a3,.,a10的和等于1001,d为a1,a2,a3.,a10的最大的公因数,那么d最大是多少?
- tan11/3 π化简
- 求助一个地址的英文写法!
热门考点
- 化学位移值为什么规定坐标0在最右边?
- _____you_____his father?
- 4*4方格填成语
- 一根绳子长10米,第一次用去这个绳子的1/5,第二次用去余下绳子的1/4,第二次用去了多少米?
- 已知5a-3b-1=5b-3a,利用等式的性质比较a与b的大小.
- 写李清照的作文
- 英语翻译
- 119火灾报警应讲清楚哪些事项
- agree,run,make,take,study,cry,arrive,stop,wash,lie,pass的第三人称单数,现在分词和过去式.如:do-does-doing-did
- 形容心累了的诗句