首页 C++实验4

C++实验4

举报
开通vip

C++实验4...《C++面向对象程序设计》实验报告实验序号:4      实验项目名称:多态性学  号姓  名专业实验地点指导教师吴芸实验时间2013-5-16一、实验目的及要求(1)了解多态性的概念;(2)掌握运算符重载的基本方法;(3)掌握虚函数的定义和使用方法;(4)掌握纯虚函数和抽象类的概念和用法二、实验设备(环境)及要求MicorsoftVisualC++6.0三、实验内容与步骤(题目、算法和结果描述)1、分析并调试下列程序,写出程序的输出结果,并解释输出结果。#includeusingnamespacestd;c...

C++实验4
...《C++面向对象程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 》实验报告实验序号:4      实验项目名称:多态性学  号姓  名专业实验地点指导教师吴芸实验时间2013-5-16一、实验目的及要求(1)了解多态性的概念;(2)掌握运算符重载的基本方法;(3)掌握虚函数的定义和使用方法;(4)掌握纯虚函数和抽象类的概念和用法二、实验设备(环境)及要求MicorsoftVisualC++6.0三、实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 与步骤(题目、算法和结果描述)1、分析并调试下列程序,写出程序的输出结果,并解释输出结果。#includeusingnamespacestd;classB{public:virtualvoidf1(doublex){cout<<"B::f1(double)"<f1(1.23);pd->f1(1.23);pb->f2(1.23);pb->f3(1.23);pd->f3(3.14);return0;}【运行结果截图】:【运行结果分析】:函数f1()被定义为虚函数,所以执行pb->f1(1.23)语句时,程序根据指针pb所指向的的实际对象,调用该对象的成员函数。而f2()和f3()只是普通的成员函数,不管pb指向哪个对象,程序pb->f2(1.23)和pb->f3(1.23)调用的都是基类中定义的的函数。2、编写一个程序,其中设计一个时间类Time,用来保存时、分、秒等私有数据成员,通过重载操作符“+”实现两个时间的相加。【要求】:将小时范围限制在大于等于0,分钟范围限制在0~59分,秒钟范围限制在0~59秒。【提示】:时间类Time的参考框架如下:classTime{public:Time(inth=0,intm=0,ints=0);Timeoperator+(Time&);voiddisptime(string);private:inthourse;intminuters;intseconds;};【运行结果截图】:3、给出下面的抽象基类container。classcontainer{protected:doubleradius;public:container(doubleradius);virtualdoublesurface_area()=0;virtualdoublevolume()=0;};建立3个继承container的派生类cube、sphere与cylinder,让每一个派生类都包含虚函数surface_area()和volume(),分别用来计算正方体、球体和圆柱体的 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 面积及体积。【要求】:写出主程序,用于C++的多态性,分别计算边长为6.0的正方体、半径为5.0的球体,以及半径为5.0和高为6.0的圆柱体的表面积和体积。【运行结果截图】:4、编写程序,用于进行集合的并、差和交运算。例如输入整数集合{954367}和{2469},计算出它们进行集合的并、差和交运算后的结果。1)可以用以下表达式实现整数集合的运算:s1+s2两个整数集合的并运算s1-s2两个整数集合的差运算s1*s2两个整数集合的交运算【Set类的框架】:classSet{public:voidinput(int);intlength();voiddisp();Setoperator+(Sets1);Setoperator-(Sets1);Setoperator*(Sets1);private:intlen;ints[MAX];intm[MAX];};voidSet::input(intd)//输入数组长度的函数{inti;len=d;cout<<"输入集合元素"<>s[i];s[i]='\0';}intSet::length()//求数组长度的函数{inti=0;while(m[i]!='\0')i++;returni;}voidSet::disp()//输出最后结果的函数{inti;intk=length();for(i=0;iusingnamespacestd;classB{public:virtualvoidf1(doublex){cout<<"B::f1(double)"<f1(1.23);pd->f1(1.23);pb->f2(1.23);pb->f3(1.23);pd->f3(3.14);return0;}2、#include#includeusingnamespacestd;classTime{public:Time(inth=0,intm=0,ints=0);Timeoperator+(Time&);voiddisptime(string);private:inthourse;intminuters;intseconds;};Time::Time(inth,intm,ints){hourse=h;minuters=m;seconds=s;}TimeTime::operator+(Time&a){Timetemp;temp.seconds=(seconds+a.seconds)%60;temp.minuters=(minuters+a.minuters+(seconds+a.seconds)/60)%60;temp.hourse=hourse+a.hourse+(minuters+a.minuters+(seconds+a.seconds)/60)/60;returntemp;}voidTime::disptime(stringstr){cout<>h>>m>>s;while(m<0||m>59||s<0||s>59){cout<<"******输入时间有误!请重新输入!******"<>h>>m>>s;}}intmain(){inth1,m1,s1,h2,m2,s2;input(h1,m1,s1);input(h2,m2,s2);TimeA(h1,m1,s1),B(h2,m2,s2),C;C=A.operator+(B);C.disptime("时间相加后的结果为:");return0;}3、#includeusingnamespacestd;constdoublepi=3.1416;classcontainer{protected:doubleradius;public:container(double);virtualdoublesurface_area()=0;virtualdoublevolume()=0;};container::container(doubler){radius=r;}classcube:publiccontainer{public:cube(double);doublesurface_area();doublevolume();};cube::cube(doubler):container(r){}doublecube::surface_area(){cout<<"正方体的表面积为:"<<6*radius*radius<surface_area();ptr->volume();ptr=&ob2;ptr->surface_area();ptr->volume();ptr=&ob3;ptr->surface_area();ptr->volume();return0;}4、#includeusingnamespacestd;constintMAX=100;classSet{public:voidinput(int);intlength();voiddisp();Setoperator+(Sets1);Setoperator-(Sets1);Setoperator*(Sets1);private:intlen;ints[MAX];intm[MAX];};voidSet::input(intd)//输入数组长度的函数{inti;len=d;cout<<"输入集合元素"<>s[i];s[i]='\0';}intSet::length()//求数组长度的函数{inti=0;while(m[i]!='\0')i++;returni;}voidSet::disp()//输出最后结果的函数{inti;intk=length();for(i=0;i>n;A.input(n);cout<<"建立含有几个元素的B集合:";cin>>n;B.input(n);C=A+B;cout<<"A+B为:";C.disp();C=A-B;cout<<"A-B为:";C.disp();C=A*B;cout<<"A*B为:";C.disp();return0;}5、6、如有侵权请联系告知删除,感谢你们的配合!精品精品精品
本文档为【C++实验4】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:doc
大小:120KB
软件:Word
页数:0
分类:互联网
上传时间:2021-02-26
浏览量:2