类的继承和多态.doc

类的继承和多态.doc

ID:52715591

大小:48.00 KB

页数:9页

时间:2020-03-29

类的继承和多态.doc_第1页
类的继承和多态.doc_第2页
类的继承和多态.doc_第3页
类的继承和多态.doc_第4页
类的继承和多态.doc_第5页
资源描述:

《类的继承和多态.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、百度空间 

2、 百度首页 

3、登录loveVc2008博客b5E2RGbCAP  C++程序设计辅导<五)---类的继承与多态性22008-10-1517:343.应用举例   例1.编写一个程序计算出球、圆柱和圆锥的表面积和体积。   分析:由于计算它们都需要用到圆的半径,有时还可能用到圆的面积,所以可把圆定义为一个类。它包含的数据成员为半径,由于不需要作图,所以不需要定义圆心坐标。圆的半径应定义为保护属性,以便派生类能够继承和使用。圆类的公用函数为给半径赋初值的构造函数,计算圆的面积函数,也可以包含计算体积的函数,让其返回0即可,表示圆的体积为0。定义好圆类后,再把球类

4、、圆柱类和圆锥类定义为圆的派生类。在这些类中同样包含有新定义的构造函数、求表面积的函数和求体积的函数。另外在圆柱和圆锥类中应分别新定义一个表示其高度的数据成员。此题的完整程序如下:       #include       #include       constdoublePI=3.1415926。       classCircle{//圆类         protected:           doubler。//半径         public:           Circle(doubleradius=0>:r(

5、radius>{}           doubleArea(>{//计算圆的面积               returnPI*r*r。           }           doubleVolume(>{//计算圆的体积               return0。           }       }。       classSphere:publicCircle{//球体类         public:           Sphere(doubleradius=0>:Circle(radius>{}           doubleArea(>{//

6、计算球的表面积               return4*PI*r*r。                   //返回表达式可以用4*Circle::Area(>来代替           }           doubleVolume(>{//计算球的体积               return4*PI*pow(r,3>/3。                   //pow(r,3>求出r的立方值,此函数原型在math.h头文件中           }       }。       classCylinder:publicCircle{//圆柱体类      

7、     doubleh。//高度         public:           Cylinder(doubleradius=0,doubleheight=0>:Circle(radius>{               9/9h=height。           }           doubleArea(>{//计算圆柱体的表面积               return2*PI*r*(r+h>。           }           doubleVolume(>{//计算圆柱体的体积               returnPI*r*r*h。   

8、                //返回表达式可以用Circle::Area(>*h来代替           }       }。       classCone:publicCircle{//圆锥体类           doubleh。//高度         public:           Cone(doubleradius=0,doubleheight=0>:Circle(radius>{               h=height。           }           doubleArea(>{//计算圆锥体的表面积              

9、 doublel=sqrt(h*h+r*r>。//sqrt函数求出参数值的平方根,               returnPI*r*(r+l>。           }           doubleVolume(>{//计算圆锥体的体积               returnPI*r*r*h/3。           }       }。       voidmain(>       {           Circler1(2>。           Spherer2(2>。           Cylinderr3(2,3>。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。