还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《面向对象程序设计ch爸ngxusheji》实验指导书实验shjydn类别设计sh8ji实验shiydn课程名称面向对象程序设计cMngxusheji方法学实验室名称软件基础实验室实验课程编号总学时56学分
3.5合用专业计算机科学与技术、网络工程、物联网先修课程有一门程序设计语言基础实验在教学培养计划中地位、作用面向对象程序设计方法学是一门实践性很强的课程,每一个学生必须完成一定数量的上机实验实验课是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节本课程使学生熟悉C++的语法特性,了解C与C++的区别和兼容性;理解面向对象程序设计的基本原理,包括类、对象、抽象、封装、继承和多态性等关键要素以及其关键语法特性一类;掌握用C++编写面向对象程序的-般方法;了解VC++编程环境通过上机实验进一步加深对课程基本内容的理解同时,在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练实验shiy加三类的定义dingyi与使用2学时xu曲M
1、实验Shiyan目的1掌握类的定义和使用2掌握类的定义和对象的声明3观察构造函数和析构函数的执行过程4观察具有不同访问属性的成员的访问方式
2、实验内容1定义一个TDate类,包含年year、月month、日day等属性,有三个公有成员函数SetDate来设置日期、AddOneDay来对日期进行加1天的操作、print荆俞出日期;2对构造函数或者成员函数进行重载;3设置构造函数或者成员函数的缺省参数4观察构造函数和析构函数的调用顺序;5观察具有不同访问属性的成员的访问方式
3、实验要求1注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯2独立完成所布置习题3为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序4认真完成每次实验,并写出实验报告
4、实验步骤1添加一个头文件TDate.h来定义TDate类包含1私有数据成员:年year、月month、日day等;2定义2个构造函数,并对其中的一个构造函数设置缺省参数;3定义dingyi1个析构函数4定义成员函数SetDate来设置shMzhi日期,AddOneDay来对日期进行加1天的操作,print来输出日期⑵添加的n阳一个源文件TDate.cpp来实现成员函数3在主程序中定义若干个TDate类的对象调用其成员函数,观察类对象的构造与析构M页序shCmxCi以及成员函数的调用写在此勺―个cpp文件中⑷将成员函数print的访问属性设为private或者protected后重新编译,观察gunch台编译结果//======日期类定义部份TDate.h======//#includeiostreamusingnamespacestd;#ifndefTDate_H^defineTDate_HclassTDatepublic:TDateyear=2022;month=1;day=1;coutv调用缺省的构造函数endl;TDateintyintm=1intd=1year=y;month=m;day=d;coutvv”调用带参数的构造函数Nvendl;;voidSetDateintyjntmjntd;voidAddOneDay;voidprint;~TDateO{coutvv”调用析构函数”vvendl;}private:intyear;intmonth;intday;;#endif//======日期类实现部份TDate.cpp======//include叮Dateh”intmaxDaysintJnt;voidTDate::print{coutvvyearvv年vvmonthvv月vvdayvv日vvendl;}voidTDate::SetDateintyjntmjntd{year=y;month=m;day=d;}voidTDate::AddOneDayday=day+1;ifdaymaxDaysyearJmonth{month=month+1;day=1;}ifmonth12{year=year+1;month=1;}intmaxDaysintyjntmintdays;switchmeasel:case3:case5:case7:case8:case10:case12:days=31;//31天break;case2:ify%4==0y%100!=0||y%400==0//|Wrunnian29天days=29;elsedays=28;break;//default://30天days=30;break;returndays;;〃======主函数h台nshCi部份bCifenLab
3.cpp======//intmainTDatedO;cout不带参数的日期riqi对象dO.print;TDated12003;cout«带1个参数cdnshO的日期对象:d
1.print;TDated2200312;coukv带2个^^canshO的日期又蝮d
2.print;TDated3202210J4;d
3.AddOneDay;cout带3个参数的日期riqi以掾力口一后:;d
3.print;d
3.SetDate2005458;cout«重新设定shading日期后d
3.print;return0;实验shiy^n四静态成员与常成员的使用2学时
1、魁目的1学习静态成员的使用2学习常成员的使用3掌握静态数据成员与常数据成员的初始化
2、实验内容1某商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以分量为单位,各箱的分量不一样,因此,商店需要记录下目前库存的货物的总分量现在要求设计一个Goods类并使用静态成员来摹拟商店货物购进和卖出的情况;2为上面的Goods类添加一个常数据成员货物名称并对货物名称进行初始化;3将前面已定义的某些成员函数改写为常成员函数,观察是否该类中所有的成员函数是否都可设定为常成员函数
3、实验要求⑴注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯2独立完成所布置习题3为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序4认真完成每次实验,并写出实验报告
4、实验shiy加步骤⑴添加一个伊g头文件Goods.h来定义Goods类包含1私有数据成员chMngyu台n货物分量weight、私有静态数据成员库存总分量totalWeight;2定义构造函数来描述m冶shCi进货过程;3定义成员函数暗nshOSell来描述货物卖出过程,成员函数GetWeight来获取当前货物分量4定义静态成员函数GetTotalWeight来读取当前货物的库存总重量5自定义若干个成员函数2添加一个源文件Goods.cpp来实现成员函数3在主程序中定义若干个Goods类的对象摹拟进货与卖出的过程查看运行结果⑷为Goods类添加一个常数据成员constchar*name来表示货物名称,改写构造函数及主程序的调用,在构造函数的成员初始化列表中对货物名称赋初值重新编译,观察运行结果5将前面已定义的某些成员函数改写为常成员函数,观察是否该类中所有的成员函数是否都可设定为常成员函数参考程序如下includeiostream.hclassGoodspublic:Goodsintw;intGetWeightQconst;voidSell;staticintGetTotalWeightQ;private:intweight;staticinttotalWeight;public:constchar*name;;Goods::Goodsintw:name“鸡蛋”weight=w;totalWeight+=w;voidGoods::SelltotalWeight-=weight;weight=0;intGoods::GetWeightconstreturnweight;intGoods::GetTotalWeightreturntotalWeight;intGoods:lotalWeight=O;intmainintw;coutvv”购进第1箱货物hu6wCi分量为”;cin»w;Goodsg1w;cout购进第2箱货物huOwCj分量为”;cin»w;Goodsg2w;cout«”库存kCicCin货物分量为cout«Goods::GetTotalWeight«endl;g
2.sell;coutvv”卖掉第2箱货物后,库存kCicOn货物分量为”;cout«g
1.GetTotalWeight«endl;coutvv货物hu6w名称为n«g
1.name«endl;return0;12do-while语句用for语句代替完成相同的功能23为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序33为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序
4、实验步骤1添加一个头文件TDate.h来定义TDate类
4、实验步骤⑴添加一个头文件Goods.h来定义Goods类实验shiy3n一语句yCiM与程序流程2学时
1、实验shiy加目的⑴了解1匕於C++开辟工具的特点2熟悉C++开辟公if环境3学会编写简单的C++程序4练习使用简单的输入输出5熟悉各种流程控制语句的功能
2、实验内容⑴输入并运行程序用do-while语句编程,求自然数1~10之和程序正确运行之后,去掉源程序中的#访可皿6语句,重新编译,观察会有什么问题do-while语句用for语句代替,完成相同的功能3编程计算图形的面积程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积后将其显示出来
3、实验要求⑴注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯2独立完成所布置习题3为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序4认真完成每次实验,并写出实验报告
4、实验步骤1启动VisualC++开辟环境2创建一个项目1单击File菜单中的New选项,显示新建对话框2选择Win32ConsoleApplicationVC++o3选择项目所在路径及输入项目的名称Iab1_14挨次按’下f直至完成为止3至此,已经建立好工程相关的文件,在生成的main函数中写入必要的内容即可⑷输入并运行程序用do-while语句编程,求自然数1〜10之和1建立C++源程叙文件选菜单命令Project|AddtoProject]New弹出New对话框在New对话框的Files选项卡中选择C++SourceFile并填入文件名称Iab1_1单击OK按钮,完成新建C++源程叙文件2编辑C++源程叙文件在文件编辑窗口中输入代码完成后,选择菜单File|Save保存就ocCin这个文件3建立冲仙并运行可执行程序选择XU加z6菜单命令Build建立可执行程序如果你正确输入了源程序,此时便成功地生成为了可执行程序如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新chdngxin选择菜单命令Build建立可执行程序选择菜单命令Run运行程序ch^ngxCi观察屏幕显示内容⑸程序正确运行之后,在源程序第一行includeiostream.h前面加注释标记〃使之成为注释行,重新编译观察编译的结果6选择菜单命令File|ColseWorkspace关闭工作空间,另建立一个项目Iab1_2包含一个C++;麻2序Iab1_
2.cpp将do-while语句用for语句代替完成与实验内容1相同的功能⑺选择菜单命令File|ColseWorkspace关闭工作空间,建立项目Iab1_3包含一个C++源程序Iab1_
3.cpp计算图形面积圆形的面积计算公式为S=PI*r*r长方形的面积计算公式为S=a*b正方形的面积市场计算公式为S=a*ao程序中定义一个整型变量iType表示图形的类型,用cout语句输出提示信息让用户选择图形的型用cin读入iType的值,然后,使用switch语句判断图形的类型,分别提示用户输入需要的参数值,计算出面积的值后用cout语句显示出来最后编译运行程序参考程序如下//Iab3_
3.cppincludeiostreamusingnamespacestd;constfloatPl=
3.1416;intmainintiType;floatradiusabarea;cout«图形的类型1为圆形,2为长方形3为正方形;cin»iType;switchiTypeeasel:cout«圆白绊街3:;cin»radius;area=Prradius*radius;coutvv”画联«area«endl;break;oout«矢国杉的长为”;cin»a;oout矢弊W3:;cin»b;area=a*b;coutvv”®Rmi2nji为:«area«endl;break;cout«“防膝勉血:“;cin»a;area=a*a;cout«//®Rmianji^g:〃«area«endl;break;default:coutv〃不是bCishi合法0输入值!«endl;return0;实验(shiyan)二函数(陷nshCi)与重载(2学时)
1、实验(shiy^n)目的
(1)掌握(zh3ngwb)函数的定义和调用方法2练习重载zhbngz前函数使用3练习缺省参数的函数使用4练习使用系统函数
2、实验内容1编写一个函数把华氏温度转换为摄氏温度,转换公式为C=F-32*5/9⑵编写重载函数maxi可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值⑶给求取两个整数最大值的重载函数maxi赋缺省参数值0并利用该函数来判断某个整数是否大于0比如maxi-60⑷使用系统函数powxy计算xAy的值,注意包含头文件cmath
03、实验要求1注意自始至终贯彻课程中所介绍程序设计风格,养成良好的编程习惯2独立完成所布置习题3为保证尽量在统一安排的上机时间内编译运行通过程序,应事先设计好程序4认真完成每次实验,并写出实验报告
4、实验步骤⑴编写函数floatConvertfloatTempFer参数的返回值都为float类型实现算法C=F-32*5/9在main函数中实现输入、输出程序名为Iab2_
1.cpp.⑵分别编写四个同名函数maxi实现函数重载,在main函数中测试函数功能程序名Iab2_
2.cppo参考程序如下includeiostreamusingnamespacestd;intmax1inta=Ointb=0returnaba:b;intmaxiintajntbintcinttmp=max1ab;returntmpctmp:c;doublemaxidoubleadoublebreturnaba:b;doublemaxidoubleadoublebdoublecdoubletmp=max1ab;returntmpctmp:c;intmainintn1n25n3;cout«请输1个整数zh6ngs晒:;cin»n1;ifmax1n1==0cout这个zh4ge数小于或者等于0;elsecout这个zh4ge数大于0;cout«请输2个鹭攵zhVngshCi:;cin»n1»n2;coutvv最大值为vvmaxln1n2«endl;coutvv”请输3个整数亿唯ngshCi:;cin»n1»n2»n3;coutvv”最大值为“vvmaxln15n25n3«endl;doubled1d2d3;cout请输2个实数:;cin»d1»d2;coutvv最大值为vvmaxld1d2vvendl;cout请输3个实数:;cin»d1»d2»d3;coutvv”最大值为“vvmaxld1d2d3vvendl;return0;}3若将三个整数的函数给定缺省参数值0重新编译,观察编译的结果⑷在main函数中提示输入两个整数xy,使用cin语句得到d6daoxy的值,调用powxy函数计算x的y次幕的结果,再显示出来程序名:Iab2_
2.cppo。
个人认证
优秀文档
获得点赞 0