实验五 实验报告

上传人:jin****ng 文档编号:198557385 上传时间:2023-04-08 格式:DOCX 页数:16 大小:133.72KB
收藏 版权申诉 举报 下载
实验五 实验报告_第1页
第1页 / 共16页
实验五 实验报告_第2页
第2页 / 共16页
实验五 实验报告_第3页
第3页 / 共16页
资源描述:

《实验五 实验报告》由会员分享,可在线阅读,更多相关《实验五 实验报告(16页珍藏版)》请在装配图网上搜索。

1、实验五类和对象(二)一、实验目的:1. 进一步理解类和对象的概念;2. 进一步理解类的成员的访问控制的含义,公有和私有成员的区别;3. 掌握构造函数和析构函数的含义与作用、定义方式和实现;4. 能够根据给定的要求定义类并实现类的成员函数;5. 了解C+面向对象程序设计的基本思想、基本方法和基本步骤;6. 掌握MS Visual C+6.0调试C+程序的基本方法、基本步骤。二、实验内容:1、输入下列程序,按要求进行实验,并记录实验的结果。#include iostreamusing namespace std;class Coordinatepublic:Coordinate(int x1, i

2、nt y1)x=x1; y=y1;Coordinate(Coordinate &p);Coordinate()coutDestructor is called.endl;int get x()re turn x;int gety ()re turn y;private:int x, y;Coordinate:Coordinate(Coordinate &p)x=p.x; y=p.y;coutCopy initianization constructor is called.endl;int main()Coordina te pl(3,4);Coordinate p2(pl);Coordina

3、te p3=p2;cou tp3=(p3.ge tx(),p3.ge ty ()endl;return 0;(1) 记录程序的运行结果(2) 将Coordinate类中带有两个参数的构造函数进行修改,在函数体内增加如下语句: cout” Constructor is called.” endl;重新记录程序的运行结果,并解释输出结果。(3) 按下列要求进行测试。在主函数体内,添加如下语句:Coordinate p4;Coordinate p5(2);测试程序会出现什么错误?为什么?如何对已有的构造函数进行适当的修改?(4) 结合第(2)和第(3)步的修改和运行结果:分析创建不同的对象时如何调用

4、适当构 造函数?2、根据注释语句的提示实现类Date的成员函数,并将完整的程序编译、连接成功以保证程 序能够正确运行。#include iostream.hclass Datepublic:void prin tDa te();/显示日期void set Day(in t);/设置日的值void se tMon th(in t); /设置月的值 void se tYear(in t);/设置年的值private:int day, month, year;;int main()Date testDay;t es tDay.se tDay(24);test Day.se tMont h(10);t

5、 es tDay.se tYear(2012);test Day.pri ntDat e();return 0;个主函数使用该3、下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计 类和相关成员函数以测试该类设计的正确性。#include using namespace std;class coutnerpublic:/构造函数/给value原值加2/给value原值减2/设置计数器值/取得计数器值/显示计数counter( int number); void incremen t();void decremen t();void setvalue(int); int getv al

6、ue();void pri nt();private:;int value;/数据成员intmain()return 0;/定义counter类的几个对象并调用有关成员函数4、定义一个类ClsName,要求该类设计如下:(1)该类有两个整型数据成员x和y;(2)为该类重载三个不同的构造函数:分别为无参数、带一个参数和带两个参数的构造函 数,要求在构造函数中输出必要的信息以示区别;(3)设计2个成员函数用来读取数据成员x和y;(4)设计2个成员函数用来设置数据成员x和y;(5)设计1个成员函数用来在屏幕上打印输出数据成员x和y;(6)在main()函数中用三个不同的构造函数创建3个对象,并使用所

7、有的成员函数对这 些对象进行必要的操作。三、实验设计1、(2)程序:#include viostreamusing namespace std;class Coordinatepublic:Coordinate(int x1, int y1)x=x1;y=yi;coutvvConstructor is called.vvendl;Coordinate(Coordinate &p);Coordinate()coutvvDestructor is called.vvendl;int getx()return x;int gety()return y;private:int x, y;Coordin

8、ate:Coordinate(Coordinate & p)x=p.x; y=p.y;coutvvCopy initianization constructor is called.vvendl;int main()Coordinate p1(3,4);Coordinate p2(p1);Coordinate p3=p2;coutvvp3=(vvp3.getx()vv,vvp3.gety()vv)vvendl;return 0;2.#include viostream.hclass Datepublic:void printDate()显示日期coutwyearw.;coutwmonthw.;

9、 coutwdaywendl;void setDay(int)设置日的值int d;d=day=24;void setMonth(int) 设置月的值int m;m=month=10;void setYear(int) 设置年的值 int y;y=year=2012;private:int day, month, year;;int main()Date testDay;testDay.setDay(24);testDay.setMonth(10);testDay.setYear(2012);testDay.printDate();return 0;3.#includeviostreamusi

10、ng namespace std;class Coutnerpublic:coutner(int number) value=number; void increment(int in) value=in+2; void decrement(int de) value=de-2; void setvalue(int a) value=a; int getvalue() return value; void print() coutvwaluevvendl;构造函数给value原值加2给value原值减2设置计数器值取得计数器值显示计数数据成员 private:int value;int mai

11、n()定义 coutnerCoutner testcoutner;类的几个对象并调用有关成员函数testcoutner.setvalue(4);testcoutner.print();testcoutner.getvalue();testcoutner.print();testcoutner.increment(4);testcoutner.print();testcoutner.decrement(4);testcoutner.print(); return 0;4.#include using namespace std;class Clsnamepublic:void setx(int

12、a)x=a;void sety(int b)y=b;int getx() return x;int gety()return y;Clsname();Clsname(int a);Clsname(int a, int b); void showClsname(); private:int x;int y;Clsname:Clsname()x=1;y=1;Clsname:Clsname(int a) x=a;Clsname:Clsname(int a, int b)x=a;y=b;inline void Clsname:showClsname() coutvvxvv vvyvvendl;void

13、 main()int a,b,i,j;coutvvplease enter the number a and b:vvendl; cinab;Clsname opl(l,l);opl.setx(l);opl.sety(l);i=opl.getx();j=opl.gety();opl.showClsname();coutvvx=vvivv vvy=vvjvvendl;Clsname op2(a,l);op2.setx(a);op2.sety(1);i=op2.getx();j=op2.gety();op2.showClsname();coutvvx=vvivv vvy=vvjvvendl;Cls

14、name op3(a,b);op3.setx(a);op3.sety(b);i=op3.getx();j=op3.gety();op3.showClsname();coutvvx=vvivv vvy=vvjvvendl;四、实验结果1、(1)(2)(3)出错处|Configuration:买脸五-Win32 DebugCompiling1 -cppC:Program FilesMicrosoft Uisual StudioMyProjects实验五1 .cpp(27) : error C2512: Coordinate : no mppmpriate default constructor a

15、vailableC:Program FilesMicrosoft Uisual StudioXMyProjectsP55.1.cpp(28) : error C2664: _thiscall Coordinate:Coordinate(class Coordinate &) : cannot conuert paramete A reference that is not to const cannot be bound to a non-lualue执行cl.exe时出错-1.obj - 1 error(s), 0 warning(s)o ok/s r ok/s e组建/调试 在文件1中査找

16、在文件2中査找结果 SQL Debu阴inw /T 4 I IH修改:Coordinate p4=p3;Coordinate p5(p2);2.4x|6i- *C: Progra FilesMicrosoft Visual StudioMyPro jects作业Debugft业駆es *C: Progra FilesMicrosoft Visual StudioMyProjects&IDebug&I.bc=2 y=3Press any key to continuePress any key to continueplease enter the number a and b:2 3bc=2 y=l

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!