ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:22.85KB ,
资源ID:10661827      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10661827.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(修正版《面向对象》实验指导书.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

修正版《面向对象》实验指导书.docx

1、修正版面向对象实验指导书面向对象程序设计实验指导书林煜明应用科技学院实验一 简单C+程序的设计1、实验目的 熟悉VC6.0的运行环境,通过编写简单的C+程序,学会在VC6.0中编辑、编译、运行和调试程序。2、实验内容 以下内容(1)和(2)必做,(3)可根据具体情况选做。(1) 编写程序,实现输入两个整数,计算并输出其结果,要求显示相应的交互信息。(2) 将(1)中的功能使用函数实现,并在main函数中要求由用户确定是否继续。提示:每计算完一次,提示用户输入Y/N,输入Y则继续调用,输入N则推出程序。(3) 编写一个有助于小学生学习乘法的程序,利用rand函数生成两个一位的正整数。随后,函数输

2、入如下所示的问题:How much is 67?然后学生输入答案。由程序检查学生的答案。如果正确,就打印“Very good!”;如果答案错误,就打印“Error!Please try again。”让学生再次输入答案,直到正确为止。注:rand函数包含在stdlib.h头文件中。3、实验要求(1) 独立完成实验。(2) 实验前需先完成预习报告,报告中应预先编写好源程序。(3) 实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4) 实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并

3、对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。实验二 函数模板和带有缺省参数的函数1、实验目的 掌握函数模板和带有缺省参数的函数的定义,理解函数模板的作用,此外还应注意对带有缺省参数的函数进行调用时的具体情况。2、实验内容 以下内容中可根据具体情况(1)和(2)选一,(3)和(4)选一。(1) 设计一个函数模板,它返回三个值中的较大值,并用int、char、double型的值进行验证。(2) 编写程序,在主函数中输入两个值,然后将这两个值交换。要求用函数模板来实现函数swap(x,y)实现值得交换,并分别用整形和字符型的值进行测试。(3) 设

4、计一个函数int Addnum(int x),该函数接收用户输入x个整数,并将它们相加求值,x的默认值为5。编写相应的main函数,并对Addnum函数进行调用。要求调用Addnum函数时分别采用默认值和设定值两种方式。(4) 编写一个具有5个参数的函数,其中3个具有默认值,然后在main函数中针对参数不同的设置情况进行调用,要求运行时显示参数的设置情况。3、实验要求(1)独立完成实验。(2)实验前需先完成预习报告,报告中应预先编写好源程序。(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体

5、会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。实验三 函数重载1、实验目的学会利用C+语言的基本知识编写程序,理解程序的结构。特别注重掌握函数重载、引用的使用等。2、实验内容 以下内容可根据具体情况至少选做两题。(1) 编写一个函数,该函数能求出某个字符串的长度。然后再分别定义一个重载函数,能对整数求其长度(即数值中的位数)。最后,编写一个主函数并对以上两个函数的功能进行测试和验证。(2) 利用函数重载,分别定义两个函数,能查找一个整数是否在一个整数数组内存在,并且查找一个字

6、符串是否在一个字符串指针数组内,如果存在则返回所在数组元素的下标,如果不存在则返回-1。最后编写main函数进行调用,并测试其结果。(3) 编写一个函数,该函数能对一个整数数组进行倒置;然后再定义一个重载函数,该函数能对字符串指针数组中的字符串进行倒置;最后编写main函数进行调用,并测试结果。3、实验要求(5) 独立完成实验。(6) 实验前需先完成预习报告,报告中应预先编写好源程序。(7) 实验过程中尽量独立思考,培养分析问题和解决问题的能力。(8) 实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实

7、验内容部分,并对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。实验四 类和对象1、 实验目的掌握类和对象的定义方法、成员函数的实现与调用方法,深刻领会类与对象的区别、类实现数据隐藏与封装的原理等。2、 实验内容以下内容可根据具体情况至少选做两题。(1) 定义一个Data类,包括year、month、day三个数据成员,通过set_date成员函数输入出生日期数据,通过disp_date成员函数将其输出,并设计出相应的程序测试类功能。(2) 定义一个两点坐标与距离的类,输入坐标上的两点,计算出两点之间的距离,并输出。同时设计出相应的程序测试类的功

8、能。(3) 定义一个类,输入若干名学生的学号、姓名和成绩,然后显示这个数据并计算出平均分。同时设计出相应的程序测试类的功能。(4) 定义一个正方体类Cube,输入变长的值、计算并输出立方体的表面积和体积。同时设计出相应的程序测试类的功能。(5) 定义一个矩形类,内有私有数据成员代表长和宽,成员函数用于取长和取宽,成员函数print( )用于打印长宽的矩形,如长为10,宽为4的矩阵如下:*3、 实验要求在编写程序时,将类的定义写成头文件(.h),类的实现写成.cpp文件,即把类的定义与类的实现代码分成不同的文件来保存。在后面的实验中,也应该养成这样的习惯。(1)独立完成实验。(2)实验前需先完成

9、预习报告,报告中应预先编写好源程序。(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。实验五 构造函数和析构函数1、 实验目的掌握类的构造函数的定义方法、构造函数的重载、析构函数的定义方法、掌握对象数据成员的初始化方法。深刻领会构造函数和析构函数被调用的时间和特点以及它们在程序中的作用、类与对象的区别、类实现数据隐藏与封装的原理

10、等。2、 实验内容以下内容可根据具体情况至少选做两题。(1) 写一段代码说明构造函数和析构函数何时被调用,并测试它。(2) 以下是产品类Product的定义,但没有类的实现部分,请根据类的定义编写类的实现部分的代码,并编写相应的对所定义的类进行测试的程序。 class Product private: char *name; /产品名称 int price; /产品单价 int quantity; /产品剩余量 public: Procduct(char *a, int b, int c); /构造函数 void purchase(int money); /购买产品 void remain()

11、; /显示剩余产品数量 Product(); /析构函数;(3) 以下是图书类Book的定义,但没有类的实现部分,请根据类的定义编写类的实现部分的代码,并编写相应的对所定义的类进行测试的程序。class Book private: char *name; /书名 int *author; /作者 int sale; /销售量 public: Book( ); /默认构造函数Book(char *a, char *b, int c); /构造函数 void print( ); /输出函数 Book( ); /析构函数;(4) 设计两个有意义的类,使一个类的对象作为另一个类的数据成员。3、 实验要

12、求(1)独立完成实验。(2)实验前需先完成预习报告,报告中应预先编写好源程序。(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。实验六 友元函数与友元类1、实验目的 掌握友元函数和友元类的说明方法,理解友元函数和友元类的使用特点。2、实验内容 (1)(4)可根据具体情况至少选做两题,然后再做(5)相应的题目。(1) 利用友元函数

13、求两个数的平方差。(2) 编写程序,设计一个友元函数比较学生成绩的高低,并输出所有学生中最高分和最低分学生的姓名。(3) 日期类Date包含日期的年、月、日三个数据成员,编写一个友元函数,求两个日期之间相差的天数。(4) 点类Point,包含点的坐标x和y两个数据成员,设计两个友元函数,分别计算两点间的水平距离和垂直距离。(5) 采用友元类方式重新编写以上各题的程序。3、实验要求(1)独立完成实验。(2)实验前需先完成预习报告,报告中应预先编写好源程序。(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次

14、实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。实验七 静态成员1、实验目的 掌握类中静态成员的定义方法,掌握静态数据成员的初始化方法、静态数据成员和静态成员函数的访问和使用方法。2、实验内容 以下内容可根据具体情况至少选做一题。(1) 编写程序,统计某旅馆住宿客人的总数。要求输入客人的姓名,输出客人编号(按先后顺序自动生成)、姓名以及总人数。(2) 编写程序,统计歌手大赛参赛人数,每名选手的平均得分。要求一次输入选手的编号、姓名、各评委的打分;输出参赛总人数,并按

15、平均分由高到低的顺序输出每位选手的名次、姓名、平均得分。3、实验要求(1)独立完成实验。(2)实验前需先完成预习报告,报告中应预先编写好源程序。(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。实验八 继承和派生1、实验目的 掌握利用单继承和多重继承的方式定义派生类的方法;深刻理解在各种继承方式下构造函数和析构函数的执行顺序;理

16、解和掌握公有继承、私有继承和保护继承对基类成员的访问机制;理解虚基类的概念以及引入虚基类的目的和作用。2、实验内容 以下内容可根据具体情况至少选做两题。(1) 设计A、B两个类,包含自己的缺省构造函数。由类A派生出新类C,并在C中包含类B的一个成员对象,且不创建类C的构造函数。创建类C的一个对象,观察其结果。(2) 设计一个圆类Circle和一个桌子类Table,在设计一个圆桌类Roundatable,它是从前两个类派生出来的。要求输出圆桌的高度、面积、颜色等数据。其中,类Circle包含数据成员radius和圆面积的成员函数,类Table包含数据成员height和返回高度的成员函数,类Rou

17、ndtable再添加数据成员color和相应的成员函数。(3) 设计一个基类Person,包含name和age两个数据成员;由它派生出学生类Student和教师类Teacher,其中学生类添加学号,教师类添加职称信息;每个类均有构造函数和析构函数;编程实现,并用一些数据进行测试。(4) 求长方形和等腰三角形的面积都需要两个数据,设计一个类Data管理这两个数据,由它派生出长方形类和等腰三角形类,并求出其面积。(5) 设计一个汽车类Vehicle,包含数据成员车轮数和车重,由它派生出类Car和类Truck,前者包含载客数,后者包含载重量。编写程序实现。3、实验要求(1)独立完成实验。(2)实验前

18、需先完成预习报告,报告中应预先编写好源程序。(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。(5)画出程序中各个类和派生类的继承关系图。实验九 虚函数与多态性1、实验目的 掌握虚函数的定义方法及其在实现多态性中的作用,理解和掌握实现多态性的前提条件,理解静态多态性和动态多态性的区别。2、实验内容 以下内容可根据具体情况至少选做

19、两题。(1)已知基类: class Base public: virtual void I_am() cout”Base”endl; 要求:从Base类中派生出两个类,分别定义I_am()函数,实现输出自己类的名字; 主函数中分别创建这3个类的对象,用以调用I_am()函数。 主函数中分别利用指向类Base的指针,调用I_am()函数。(2)编写程序,计算圆柱体、球体、正方体和长方体的表面积和体积。提示:本题中,可以先定义一个抽象类,其中包含一个数据成员和分别求表面积和体积的纯虚函数,然后再此类基础上,派生出圆柱体类、球类、正方体类和长方体类。(3)设计一个抽象类Vehicle,由它派生出类C

20、ar和类Truck。类Car包含名称、颜色、载客数3个数据成员,类Truck包含名称、颜色、载客重量3个数据成员。(4)编写程序显示动物种类。基类Animal,包含name成员;由它派生2个类:类Mammal和类Bird,前者包含子女数,后者包含生蛋数。3、实验要求(1)独立完成实验。(2)实验前需先完成预习报告,报告中应预先编写好源程序。(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明为什么

21、能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。(5)画出程序中各个类和派生类的继承关系图。实验十 模板1、实验目的 进一步加深理解类模板和函数模板的意义和作用,掌握类模板和函数模板的定义方法及在程序中的使用方法。2、实验内容以下内容(1)(2)必做。(1) 设计一个类模板Binfind,它可以用二分法在一个给定的有序数组中查找给定的元素值是否存在,如果存在则输出该元素在数组中的下标值;如果未找到,则输出-1。编写相应的程序测试类模板。注:该题中,类模板中的数组的类型不能定义成固定的某个类型。(2) 设计一个类模板,它的数据成员至少包含一个类型未定,长度由用户确定的一维数组,成员

22、函数sort()将数组元素按从小到大的顺序排序,printArray(int s,int n)将数组从第s个元素开始共打印出n个元素的值。编写相应的程序测试类模板。(3)设计一个函数模板,它返回两个值中的较大值,并用int、char、double型的值进行验证3、实验要求(1)独立完成实验。(2)实验前需先完成预习报告,报告中应预先编写好源程序。(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明

23、为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。实验十一 运算符重载1、实验目的 理解运算符重载的概念和实质,掌握运算符重载函数的定义方法,掌握将运算符重载为类的成员函数和友元函数的方法,掌握和运用几种常用的用C+语言运算符的重载进行解决问题的方法。2、实验内容 以下内容可根据具体情况至少选做两题。(1) 编写程序,运用运算符重载实现点类Point的两个对象(即两点)间横、纵坐标的相加运算。(2) 设计一个person类,包含姓名、年龄等数据成员。要求重载流插入运算符(),以实现对person类对象信息的输入和输出。(3) 设计一个长方形类Triangle,包含长和宽两个私有数据成员。要求重载运算符“+”,以实现多个矩形对象的面积之和。(4) 设计一个复数类Complex,实现两个复数的相加(+)、相减(双目-)以及取负(单目-)的运算。3、实验要求(1)独立完成实验。(2)实验前需先完成预习报告,报告中应预先编写好源程序。(3)实验过程中尽量独立思考,培养分析问题和解决问题的能力。(4)实验完毕后书写实验报告,实验报告内容包括实验目的、实验内容、结果分析以及本次实验的心得体会。要求将程序源码和运行时的输入/输出数据情况书写在实验内容部分,并对程序的输出结果进行分析,说明为什么能得出相应的结果(如果不能输出预期结果,需要分析说明其原因)。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1