实验3-多态性
13页1、西华大学实 验 报 告( 2010/ 2011 学年 第 二 学期)课程名称面向对象程序设计实验名称多态性实验时间年月日指导单位指导教师学生姓名班级学号学院(系)专 业实 验 报 告实验名称多态性实验实验类型综合实验学时22一、 实验目的和要求(1)进一步熟悉类的设计、运用继承与派生机制设计派生类,合理设置数据成员和成员函数。(2)掌握双目运算符、单目运算符的重载方法,对常用算术运算符能在自定义类中通过友元函数、成员函数进行重载,以实现静态多态性。(3)掌握通过继承、虚函数、基类的指针或引用实现动态多态性的方法。(4)理解并掌握有纯虚函数的抽象类的作用,在各派生类中重新定义各纯虚函数的方法,以及此时实现的动态多态性。二、实验环境(实验设备) 硬件: 微型计算机 软件: Microsoft Visual C+6.0三、实验原理及内容实验题目(1): 定义一个抽象类容器类Container,其中定义了若干纯虚函数,实现求表面积、体积、输出等功能。由此抽象类派生出正方体、球体和圆柱体等多个派生类,根据需要定义自己的成员变量,在各个派生类中重新定义各纯虚函数,实现各自类中相应功能,各个类成员的
2、初始化均由本类构造函数实现。在主函数中,定义容器类的指针和各个派生类的对象,使指针指向不同对象处调用相同的函数能执行不同的函数代码,从而实现动态多态性。实验解答: 根据实验提示完成实验,完整的程序代码如下:#includeusing namespace std;#define PI 3.14159class Containerprotected:double radius;public:Container(double r=0)radius=r;virtual void area()=0;virtual void volume()=0;virtual void print()=0;class Cube:public Containerprivate:double l;public:Cube(double x)l=x; virtual void area()coutThe containers area is:6*l*lendl;virtual void volume()coutThe containers volume is:l*l*lendl;virtual void print()
3、coutIt is a cube!n;class Sphere:public Containerprivate:double r;public:Sphere(double y)r=y;virtual void area()coutThe containers area is:4*PI*r*rendl;virtual void volume()coutThe containers volume is:4/3*PI*r*r*rendl;virtual void print() coutIt is a sphere!n;class Cylinder:public Containerprivate:double r; double h;public:Cylinder(double r1,double h1) r=r1;h=h1;virtual void area() coutThe containers area is:2*PI*r*r+2*PI*r*hendl;virtual void volume() coutThe containers volume is:PI*r*r*hendl; v
《实验3-多态性》由会员壹****1分享,可在线阅读,更多相关《实验3-多态性》请在金锄头文库上搜索。
嘉峪关市邮轮游艇装备项目企划书范文模板
供应室出科自我鉴定
实用的老师读书心得体会四篇_3
服装公司业务员工作总结
2022年村级换届选举
用电脑连接电视的方法套键盘鼠标各不耽误就是爽
2021年烧结厂煤气安全管理制度.doc
渠道销售专员职责2022职责(14篇)
贺银成总结的各科金口诀
四种气质类型分析
1三甲医院评审应知应会知识考试复习材料
纵向科研经费拨款流程
中国地理概况练习题附答案
渝建竣表格(共106页)
建筑安装工程承包合同
大班语言活动小鼹鼠过生日
2023年不动产登记中心招聘考试题库模拟真题
(多篇)2023给医院的表扬信14篇
凭样品买卖合同通用
北京师范大学21春《统计学》原理离线作业1辅导答案53
2023-02-16 10页
2023-05-20 2页
2024-01-23 4页
2023-03-27 4页
2022-09-19 7页
2023-10-06 374页
2023-07-10 4页
2022-09-24 42页
2022-11-13 2页
2022-08-02 6页