2023年面向对象程序设计实验报告.docx

上传人:太** 文档编号:72777192 上传时间:2023-02-13 格式:DOCX 页数:9 大小:37.89KB
返回 下载 相关 举报
2023年面向对象程序设计实验报告.docx_第1页
第1页 / 共9页
2023年面向对象程序设计实验报告.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2023年面向对象程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《2023年面向对象程序设计实验报告.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、综合实验报告面向对象程序设计专业名称:物联网工程班 级:2023级2班姓 名:你哥哥学 号:信息科学与工程学院七月(* p o s ) Displa y ();c out”合并前L2链表内对象: D i s P 1 a y();)/* - 一合并链表 LI,L2-* /aLl.mer g e (L2 );/ *-释放链表 L2-*/while (!L2.em p ty () 。 L2.p o p_ b a ck();)/*-输出合并后链表-* /co u tiiLl与L2合并后链表内对象:“vV end 1 ;fo r (p o s= L 1 .b e g in ();p o s! = Ll.

2、 e nd ();pos+) (*p o s ) Dis p 1 a y();)return 0 ;2.5程序运营结果它E:cDebug186.7.exe,100010011002200020012002资资资 工工工 人人人 工工工资资资 工工工 人人人 工工工 LFLiLLiL i =一 情人人人接人人人 而工工工空工工 息1 i 1要2 2 2 1 1 111 连 连 一上 X I 2 L1名名名L2名名名 处延处处 “开人人人并入人人 Krr 匚匚 - -43- 一 上匚 |一 r1/匚200020012002100010011002资资资资资资工工工工工工人人人人人人工工工工工工0

3、12 0 122 2 2 111却人人人人人人0 除工工工工工工yt 后121212U11U E 并y 合名名名名名名an L2姓姓姓姓姓姓S 与人人人人人人es26设计心得.LIST链表内可以放类对象等变量.1 .迭代器访问链表内类对象的成员函数的方法为:(*p o s) fun c t i o n ();错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。第一题:。错误!未定义书签。1.1题目概述。错误!未定义书签。1 . 2设计思绪1.3 设计说明与调试分析2。1.4 编码实现。错误!未定义书签。1.5 程序运营结果。错误!未定义书签。1. 6设计心

4、得第二题:。错误!未定义书签。2. 1题目概述。错误!未定义书签。2. 2设计思绪。错误!未定义书签。2. 3设计说明与调试分析。错误!未定义书签,1.1 4编码实现2.5 程序运营结果2.6 设计心得第一题:1.1题目概述用抽象类设计计算二维平面图形图形面积的程序,在基类TDsh a pe中设计纯虚函数area。 和p r intN a me (), a r ea()用于计算几何图形的面积,printNa m e ()用于打印输出几何 图形的类名,如Triangle类的对象就打印输出“Triang I e:每个具体形状的类则从抽 象类TDs h ape派生,各自需要定义其他独有的数据成员和成

5、员函数,并且定义area。和 printName ()的具体实现代码,如图所示。规定编写以TD s h ape为接口的函数,借以访问具体类如Triangle和Rect a ngle类的成员函数 arca(), p r i n t N a m e 0。1 . 2设计思绪由简到繁,逐步实现。1. 3设计说明与调试分析编写基类TDshape-编写虚函数。编写继承类Tr i a n g I e -实例化TD s hape 和Tr i angle 调用基类虚函数实现调用继承类相应函数同样的方式解决继承类Recta n g Ie.1. 4编码实现# i n cludeio s tr e amusi n g

6、 n a mesp ace std;c I a ss TDshape p u blic:wir t u a I void are a ()=0;vir t u a I void p r in t N ame()=0;c 1 as s Tri a n g le:public TDsFmpep r i vat e :double w idt h , h e i g ht;pub lie:vo i d sc t w idth(doublc x) w i dth= x ;void seth e i g h t (do u b 1 e x) h eight=x;od o u b le ge t widt

7、h ()r e tu r n w i dth;)adouble gethei g h t () return h e i gh t ;。v oid are a () c out面积:V Vwidl h *h e ight*0.5en d le n d I; avoid printName () coutvv图形:Triangle en d 1 : );cla s s Rectangle: p ub 1 ic T Dsh a pepri v a t e:doubl e width,height;publ i c:vo i d set wid th (do u b 1 e x)w i dt h =

8、x;avoid se t he i g ht( d oubl e x) h ei g ht= x ; d o ubl e getwid t h()rct u rn w i d t h ;0 do u ble gethe i ght()return h eight; v o id area ( ) coutV面积:vVw i d t h * h e i g htendlendl; woid pri n tName ()cou t printNamc();p-area ();p=&r.s e twidth ( 1 2 0);or.se t h eight(80);p -pr i n tN a m

9、e ();。p -are a ();1.5程序运营结果* E:cDebugl.exe图形:Triangle面积:4800图形:Rectangle面积:9600Press any key to continue1. 6设计心得.可以用引用和指针两种方式来通过访问基类虚函数实现访问相应类函数。1 .可以将main函数中的相关类成员函数分离出去,方法是在类后面编写全局函数作为 类和main函数的接口。第二题:2. 1题目概述假设有一个工人类。形式如下:class W o rkerc h ar nam e 10;1 nt ag e ;dou b le salary;public:,Wo r k e r

10、 ()用Wo r k er (.)vo i d S e tDat a (char * Name, i nt A g e, do u b le wage)v o id Disp 1 ay()其中name表达姓名,age表达年龄,sala r y表达薪金,构造函数Work er ()实现个数 据成员的初始化,SctDataO成员函数用于重置各数据成员的值,D isp 1 ay ()用于显示输 出个数据成员的值。完毕该类的设计,并用ST1中的链表li s t管理该类的对象,规定至少建立两个链表,每个 链表中至少存入Work e r类的三个对象,通过迭代器访问输出个节点对象的数据成员,并用链表的mer

11、 g e算法两表合并后输出链表节点的对象。2. 2设计思绪由小到大,逐步实现。2.3 设计说明与调试分析设计类- 引入链表以及迭代器- 重置成员值一 压栈- 迭代器访问并输出对象一 链表 合并 迭代器访问并输出对象.2.4 编码实现#incl u d e #include #i n c lu d e # define N 3/每个链表内类对象个数usi n g na m c s pace st d ;c 1 ass Wor k erch a r name 10; i n t a g e; d oubl e sal a ry;publi c :Worke r (ch a r *Name=00 0

12、 , int Ag e =0, do u ble w a ge= 0 . 0) strep y (name,Name); age=Age;sa 1 ar y =wa g e ;wo i d S e tDat a (c h ar * N ame, i n t Age, d oub 1 e wage) stre p y (n a me, N am e );ag e =Age;s a 1 ary=w age;voi dDisplay() , c outv工人姓名: n am e oYV工人年龄vthis- age 。工人工资:Vsalarye n d 1;0 |omain () inti =0;Wo

13、rker o b j 1 N:oWor ke r obj 2 NJ;ali s t LI, L2;list :itc r a tor pos;/* _又寸多隹 _ */f or( i = 0;iN;i+)00objli .SetDa t a( 1 r;10+i,l 0 00. 0+i);)for (i=0;iN;i+) obj2 i. Sc t Data ( 1 2 , 2 0 +i,2023.0+i);)/*. 歹 II 表赋值一-for(i=0; i N;i+)LI. p ush_back (& o bj 1 i ) ;/ / 类对象压入栈L2. p u sh_b ack (&obj2 i);)/*-输 出 合并前链表-*/ocoutvv”合并前L 1链表内对象:vv e ndl;fo r ( p o s= L 1 .begin (); p o $ ! =Ll.en d ();po s +)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁