面向对象程序设计实验报告-实验三

面向对象程序设计实验报告-实验三

ID:15025208

大小:311.00 KB

页数:11页

时间:2018-07-31

面向对象程序设计实验报告-实验三_第1页
面向对象程序设计实验报告-实验三_第2页
面向对象程序设计实验报告-实验三_第3页
面向对象程序设计实验报告-实验三_第4页
面向对象程序设计实验报告-实验三_第5页
资源描述:

《面向对象程序设计实验报告-实验三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、北京理工大学珠海学院实验报告ZHUHAICAMPAUSOFBEIJINGINSTITUTEOFTECHNOLOGY班级:13级计算机3班学号:130201031037姓名:郑永雄指导教师:谭忠兵实验题目:多态性实验时间:2014-06-09成绩:一、实验内容程序1.编写一个程序,用成员函数重载运算符“+”和“-”将两个二维数组相加和相减,要求第一个二维数组的值由构造函数设置,另一个二维数组的值由键盘输入。程序2.编写一个程序,要求:(1)声明一个类complex,定义类complex的两个对象c1和c2,对象c1通过构造函数直

2、接指定复数的实部和虚部(类私有数据成员为double类型:real和imag)为2.5及3.7,对象c2通过构造函数直接指定复数的实部和虚部为4.2及6.5;(2)定义友元运算符重载函数,它以c1、c2对象为参数,调用该函数时,能返回两个复数对象相加操作;(3)定义成员函数print,调用该函数时,以格式“(real,imag)”输出当前对象的实部和虚部,例如:对象的实部和虚部分别为4.2和6.5,则调用print函数输出格式为:(4.2,6.5);(4)编写主程序,计算出复数对象c1和c2相加结果,并将其结果输出。程序3.写

3、一个程序,定义抽象基类Container,由它派生出3个派生类:Sphere(球体)、Cylinder(圆柱体)、Cube(正方体)。用虚函数分别计算几种图形的表面积和体积。程序4.编写程序:定义抽象基类Shape,area()为求图形面积的虚成员函数。由它派生出三个派生类:Circle(圆形)、Rectangle(长方形)、和Triangle(三角形),用虚函数area分别计算各种图形的面积。在主函数中,分别创建派生类的对象并计算其面积,求出它们的面积的和。要求用基类指针数组,使它的每一个元素指向一个派生类的对象,以体现多态

4、性。程序5.计算正方体、球体、圆柱体的体积。要求:定义基类shape,在其中定义求体积的纯虚函数volume,并定义一个数据成员r,它可作为球体的半径、正方体的边长以及圆柱体的底面圆半径。由shape类派生出3个类,分别是正方体类、球体类和圆柱体类,在这3个类中都具有求体积的重定义版本。在主函数中统一求3种对象的体积,实现多态性。二、问题分析(类的数据成员、成员函数等的确定,对象的创建等)程序1:首先定义一个数组类,数据成员是数组c[2][3],成员函数有运算符重载函数shuzuoperator+(intb[2][3])和sh

5、uzuoperator-(intb[2][3]),当然还有输出函数show。在主函数中创建对象x,y,z。当然也要按要求输入数组。程序2:首先定义类complex,数据成员有real和imag,成员函数有友元运算符重载函数friendcomplexoperator+(complex&a,complex&b)和输出函数print。在主函数中创建对象c1和c2,最后运算结果。11程序3:首先定义抽象基类Container,数据成员有r,成员函数有友元虚函数virtualvoids_v()由它公有派生出3个派生类:Sphere(球体

6、)、Cylinder(圆柱体)、Cube(正方体)。在主函数中分别创建各派生类的对象s1,c1和,c2。用虚函数virtualvoids_v()分别计算3种图形的表面积和体积。程序4:首先定义抽象基类Shape,数据成员有a和b,area()为求图形面积的虚成员函数。由它公有派生出三个派生类:Circle(圆形)、Rectangle(长方形)、和Triangle(三角形),用虚函数area分别计算各种图形的面积。在主函数中,创建基类指针ptr,分别创建派生类的对象c1,r1和t1。Ptr指针指向派生类的对象,用area()计算

7、其面积。程序5:首先定义基类shape,在其中定义求体积的纯虚函数volume,并定义一个数据成员r,它是球体的半径、正方体的边长以及圆柱体的底面圆半径。由shape类派生出3个类,分别是正方体类、球体类和圆柱体类,圆柱体增加数据成员h,在这3个类中都具有求体积的重定义版本。在主函数中创建对象s1,c1和c2,并调用各自的纯虚函数volume计算体积。三、程序实现(完整程序) 程序1: #include#includeusingnamespacestd;classshuzu{public:sh

8、uzu(){for(inti=0;i<2;i++)for(intj=0;j<3;j++)c[i][j]=0;}shuzu(inta[2][3]){for(inti=0;i<2;i++)for(intj=0;j<3;j++)c[i][j]=a[i][j];}shuzuopera

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

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

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