




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验五多态程序设计一、实验目的:理解运算符重载的概念和实质,掌握运算符重载函数的定义方法,掌握 运算符重载为类的成员函数和友元函数的方法。掌握虚函数的定义方法及其在实现多态性中的应用,理解静态连编和动 态链编的区别。二、实验时间:2012/12/5三、实验地点:四、实验内容:1 已知基类:class Basepublic : virtual void l_am()cout” Base” endl; ; 一要求:(1) 从Base类中派生出两个类,分别定义I_am()函数,实现输出自己 类的名字。(2) 主函数中创建者3个类的对象来调用I_am()函数,再利用Base的 指针数组通过循环语句来调
2、用这 3个对象的I_am()函数。C:win1 base_v拮按任意键继敛/ 1.cpp :定义控制台应用程序的入口点/#include stdafx.h#include #include using namespace std;class basepublic :base()virtual void i_am() cout i am base endl;class base_x: public base public :base_x()void i_am()coutvv i am base_x endl; ;class base_y: public base public :base_y()
3、void i_am()coutvv i am base_y endl; ;int main()base b;base_x b_x;base_y b_y;base *a3=&b,&b_x,&b_y;for (int i=0;ii_am();return 0;2. 编写程序,计算圆柱体,球体,正方体的表面积和体积。要求用抽象类实 现。7J方旺、F-壬 i- II m h H * k- s IL. iy IL. 、1 b N H0I2S1西 C:wind3assYiternjl ,:vd.eeEqur t 1 C, 4,5): 醉iadr (4.5, &): glot* 宅4:绊 am try *4
4、 3=徹 畏s td:for (int_5urfic ();/ 2.cpp :定义控制台应用程序的入口点/#include stdafx.h#include #include using namespace std;const double PI=3.1415926;class geometrypublic :virtual void surface() const =0;virtual void volume() const =0;class square: public geometryprivate :float a,b,c;public :square( float a1, float
5、 b1, float c1)a=a1;b=b1;c=c1;void surface() const cout 该正方形的表面积为 : 2*(a*b+b*c+c*a)endl; void volume() const cout 该正方形的体积为 : a*b*cendl;class cylinder: public geometryprivate :float r,h;public :cylinder( float r1, float h1)r=r1;h=h1;void surface() const cout 该圆柱体的表面积为 : 2*PI*r*(r+h)endl;void volume()
6、const cout 该圆柱体的体积为 : PI*r*r*hendl;class globe: public geometryprivate :float r;public :globe( float r1)r=r1;void surface。 const cout该球体的表面积为:vsurface();ai-volume();return 0;3. 设计字符串类String,完成以下功能:(1) 使用+运算符实现两个字符串的连接功能。(2) 使用=运算符实现字符串的复制功能。(3) 使用=运算符判断两个字符串是否相等功能。(4) 计算字符串长度的功能。归1塑 I 乂站 tr i n g w?
7、;h splty I J ;s2. AitpliyO;12)zW?切至Y弔老后者玄長先金打“7(旳;皿l代两羯础謬前者长震対7“(4 辺:s3=i a5=S.5. ii splty 0;dLihpJL舒()J曲 dL0ic(s=s2)Ml认“咤苻串不叩巻5老茨官夬CEtdQCendl; tlst;/ 3.cpp : 定义控制台应用程序的入口点/#include stdafx.h #include #include using namespace std;class String private : char *str;public :String( char *str1= ) str= new
8、 char strlen(str1)+1; strcpy(str,str1); String() delete str;void display() cout str: strstr= new char strlen(str1.str)+strlen(str2.str)+1; strcpy(s-str,str1.str); strcat(s-str,str2.str);return *s;String & operator =(String &str1) if (strcmp(str1.str,str)=0) return str1;else str= new char strlen(str1
9、.str)+1; strcpy(str,str1.str); return * this ;friend bool operator =(String &str1,String &str2) if (strcmp(str1.str,str2.str)=0) return true ;:0 ujn;aj!|PU9(s)sU9|J|su1 昜申宙谢者脛,, inoo3S|3!|PU9(2S)S_U9|4S u圍齐皋gr 昜电立宙谢者豐“ inoo(乙s=s) lOAeidsjpss !()Xe|dsipS !()Xe|dsips !s=s :S=S 2s+s=s!|pu9(s)s_U9|4SH1
10、昜电宙谢者豐“inoo3S|3!|PU9(2S)S_U9|4S u圍齐皋gr 昜电立宙谢者豐“ inoo(乙s=s) lOAeidsjpss !()Xe|dsips 0s 6uu;s!( 乙乙 )2S 6uu;s !( 乙乙 )s 6uu;s()uqw m!(J;S |,4S)U9|4S ujn;sj/:U3| ujn;sj!+!1+UO|=UO|(.0.=j!4S N;s) 9|!i|M:0=U9| M:0=! M(N;s 6u!4S)S_U9|J;s m pusuj! os|Ej ujn;sj 8S|S 五、实验要求: 在上机前写出全部源程序六、实验结果分析:七、实验心得体会及问题反馈:此次实验还是比较简单 ,课上完有点时间了 , 知识点清晰度不够 ,重温 一下, 就可以很简单的完成这个实验了 , 实验有 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度不动产投资信托合同协议
- 2025年度夫妻财产约定与家庭财务规划协议书模板
- 2025年度公厕保洁与智能设备维护服务合同
- 2025年度房屋遗产继承与遗产分配及税务筹划协议
- 2025年度单价合同在新能源技术研发中的合同履行与经济效益
- 2025年度定向委培协议书:新材料研发人才定向培养协议
- 2025年度农村自来水用户用水纠纷处理合同
- 2025年度建筑材料经销商返点奖励协议
- 2025年度劳动合同协商解除协议书-企业转制员工安置协议
- 4S店装饰维修服务合同
- 外研版三年级下册英语全册教案(2024年2月修订)
- 《人文科学概论》课件
- 大学生返回母校宣讲
- 光伏机器人行业报告
- 屋顶分布式光伏发电施工组织设计
- 践行志愿服务(下)
- 环境监测课件20-在线环境监测技术
- 《纸杯变变变》课件
- JGJT178-2009 补偿收缩混凝土应用技术规程
- 一般工业固体废物分类及利用处置方式(2020年)
- 汽车人才需求调查研究报告
评论
0/150
提交评论