2023年面向对象程序设计实验报告_第1页
2023年面向对象程序设计实验报告_第2页
2023年面向对象程序设计实验报告_第3页
2023年面向对象程序设计实验报告_第4页
2023年面向对象程序设计实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

综合实验报告面向对象程序设计专业名称:物联网工程班级:2023级2班姓名:你哥哥学号:信息科学与工程学院七月(*pos)—>Display();°}cout«”合并前L2链表内对象:"<vend1;•for(pos=L2.begin();pos!=L2.end();pos4-+){。(*pos)->DisP1ay();)TOC\o"1-5"\h\z/*---—----一合并链表LI,L2-*/aLl.merge(L2);/*---—释放链表L2-—-——-*/◎while(!L2.empty()){。。L2.pop_back();)/*————--—输出合并后链表-——-------*/•cout«"\iiLl与L2合并后链表内对象:“vVend1;for(pos=L1.begin();pos!=Ll.end();pos++){(*pos)—>Disp1ay();)return0;

2.5程序运营结果它'E:\c\Debug\186.7.exe,100010011002200020012002资资资工工工人人人工工工资资资工工工人人人工工工・•LFLiLLiLi=一情人人人接人人人而工工工空工工息1i1要22211111连连一上・・••••X・»・I2••L1名名名L2名名名处延处处“开人人人并入人人Krr匚匚--43-一上匚|~一r~"1/匚200020012002100010011002资资资资资资

工工工工工工

人人人人人人

工工工工工工012012222111却人人人人人人0除工工工工工工yt后121212U11UE并y合名名名名名名anL2姓姓姓姓姓姓S与人人人人人人es2・6设计心得.LIST链表内可以放类对象等变量..迭代器访问链表内类对象的成员函数的方法为:(*pos)—>function();错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。第一题:。错误!未定义书签。1.1题目概述。错误!未定义书签。.2设计思绪设计说明与调试分析2。编码实现。错误!未定义书签。程序运营结果。错误!未定义书签。6设计心得第二题:。错误!未定义书签。1题目概述。错误!未定义书签。2.2设计思绪。错误!未定义书签。2.3设计说明与调试分析。错误!未定义书签,4编码实现程序运营结果设计心得第一题:1.1题目概述用抽象类设计计算二维平面图形图形面积的程序,在基类TDshape中设计纯虚函数area。和printName(),area()用于计算几何图形的面积,printName()用于打印输出几何图形的类名,如Triangle类的对象就打印输出“TriangIe:每个具体形状的类则从抽象类TDshape派生,各自需要定义其他独有的数据成员和成员函数,并且定义area。和printName()的具体实现代码,如图所示。规定编写以TDshape为接口的函数,借以访问具体类如Triangle和Rectangle类的成员函数arca(),printName0。.2设计思绪由简到繁,逐步实现。3设计说明与调试分析编写基类TDshape->编写虚函数。编写继承类TriangIe->实例化TDshape和Triangle>调用基类虚函数实现调用继承类相应函数・>同样的方式解决继承类RectangIe.4编码实现#include<iostream>usingnamespacestd;cIassTDshape{public:wirtuaIvoidarea()=0;virtuaIvoidprintName()=0;};c1assTriangle:publicTDsFmpe{private:doublewidth,height;publie:«voidsctwidth(doublcx){width=x;}◎voidsetheight(doub1ex){height=x;}odoublegetwidth(){returnwidth;)adoublegetheight(){returnheight;}。voidarea(){cout«"面积:"VVwidlh*height*0.5«endl«endI;}avoidprintName(){coutvv"图形:Triangle"«end1:));classRectangle:pub1icTDshape{private:doublewidth,height;public:«voidsetwidth(doub1ex){width=x;}avoidsetheight(doublex){height=x;}doublegetwidth(){rcturnwidth;}0doublegetheight(){returnheight;}«voidarea(){cout<V"面积:"vVwidth*height«endl«endl;}woidprintName(){cout<〈”图形:Rectanglen«endl:}};voidmain(){oTDshape*p;Triang1et;oRcctangler;p=&t;setheight(120);4.setwidth(80);,p->printNamc();p->area();p=&r.setwidth(120);or.setheight(80);p->printName();。p->area();1.5程序运营结果*E:\c\Debug\l.exe"图形:Triangle面积:4800图形:Rectangle面积:9600Pressanykeytocontinue6设计心得.可以用引用和指针两种方式来通过访问基类虚函数实现访问相应类函数。.可以将main函数中的相关类成员函数分离出去,方法是在类后面编写全局函数作为类和main函数的接口。第二题:1题目概述假设有一个工人类。形式如下:classWorker{charname[10];ntage;doublesalary;public:,Worker()用Worker(...)voidSetData(char*Name,intAge,doublewage)voidDisp1ay()}其中name表达姓名,age表达年龄,salary表达薪金,构造函数Worker()实现个数据成员的初始化,SctDataO成员函数用于重置各数据成员的值,Disp1ay()用于显示输出个数据成员的值。完毕该类的设计,并用ST1中的链表list管理该类的对象,规定至少建立两个链表,每个链表中至少存入Worker类的三个对象,通过迭代器访问输出个节点对象的数据成员,并用链表的merge算法两表合并后输出链表节点的对象。2.2设计思绪由小到大,逐步实现。设计说明与调试分析设计类->引入链表以及迭代器->重置成员值一>压栈->迭代器访问并输出对象一>链表合并・>迭代器访问并输出对象.编码实现#include<iostream>#include<list>#include<string>#defineN3//每个链表内类对象个数usingnamcspacestd;c1assWorker{charname[10];intage;doublesalary;public:«Worker(char*Name="000",intAge=0,doublewage=0.0){strepy(name,Name);age=Age;sa1ary=wage;}woidSetData(char*Name,intAge,doub1ewage){strepy(name,Name);age=Age;sa1ary=wage;}voidDisplay(){,coutv<"工人姓名:"<<this—>name«""oYV"工人年龄"vthis->age«""。<<"工人工资:"V<this—>salary<<end1;0|omain(){inti=0;Workerobj1[N]:oWorkerobj2[NJ;alist<Worker*>LI,L2;list<Workcr*>::itcratorpos;/*——__—_____—_—又寸多隹^——_——*/for(i=0;i<N;i++){00objl[i].SetData("1r;10+i,l000.0+i);)for(i=0;i<N;i++){obj2[i].SctData("12",20+i,2023.0+i);)/*.—

温馨提示

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

评论

0/150

提交评论