




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计实验课程教学大纲 Object-Oriented Programming课程编号:10121015课程总学时:22课程性质:必修课程属性:专业课(核心课程)开设学期:大二下学期承担实验室:软件实验室适用专业:计算机科学与技术先修课程:C程序设计;数据结构主撰人:席磊审核人:大纲修订日期:2012-5-15(一)实验课程简介 开设本课程的目的是使学生掌握使用C+语言进行应用程序设计的基本方法和技能,注重培养学生编程能力、分析问题和解决问题的能力。本课程的任务是使学生掌握C+语言的基本内容,C+的基本数据类型、表达式、控制结构、函数、指针、类和对象、继承与派生、多态性、模板等。学习这些内容之后,学生应能理解和掌握有关概念,具备运用有关编程技术来编写较大和比较复杂的应用程序的能力。(二)实验教学目的和基本要求 通过试验,使学生进一步掌握掌握面向对象程序的基本概念,特点,结构,原理及设计方法,重点学习C+程序设计语言的相关内容,能阅读C+程序,掌握编程技巧,培养学生面向对象的程序设计与软件开发能力,巩固和加深面向对象程序设计理论知识,加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。(三)实验项目名称与学时分序号实验项目名称学时类型实验要求1VC+6.0开发环境与C+简单程序设计2基础性必做2函数的应用2综合性必做3类与对象4综合性必做4数组、指针与字符串4基础性必做5继承与派生4综合性必做6多态性6综合性必做合计22(四)实验方式及基本要求 (1)上机实验之前,学生应当为每次上机的内容作好充分准备.对每次上机需要完成的题目进行认真的分析,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容以及思考题的要求进行上机操作.录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。 (3)根据实验结果,写出实验报告.实验报告应当包括:实验题目,程序清单,运行结果。(五)考核方式及成绩评定 考核内容包括实验报告完成及实验现场操作情况等。成绩考核采用百分制,实验成绩折合入期末总成绩。(六)实验教材 C+程序设计(第四版)(学生用书),郑莉编著,清华大学出版社,2011年(七)教学参考书目 (1)C+程序设计教程(第二版),钱能编著,清华大学出版社,1999年 (2)Thinking in C+(第二版),(美)Bruce Eckel 编著,机械工业出版社,2005年 (3)C+ Primer(第五版),(美)Stanley B. Lippman Barbara E. Moo Jose LaJoie 著,人民邮电出版社,2005年(八) 实验内容安排【实验一】VC+6.0开发环境与C+简单程序设计1.实验学时:22.实验目的: (1)熟悉和使用VC集成开发环境,使用Console Application工程进行简单的程序开发 (2)掌握C+程序的基本组成,数据类型和表达式,程序的基本控制结构 (3)学习过程化程序设计方法 (4)进一步学习掌握查找与修改编译错误的方法 (5)初步学习调试方法3.实验内容: (1)输入并运行教材C+语言程序设计中的例题2-7。程序正确运行后,去掉源程序中#include语句,重新编译,观察会有什么问题 (2)编程计算图形面积 (3)使用debug调试功能观察任务2中变量值的变化情况 (4)定义结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入,然后完整显示出来4.实验要求:完成实验内容,并撰写实验报告5.实验设备及器材:Visual C+ 6.0【实验二】函数的应用1.实验学时:22.实验目的: (1)掌握函数声明,定义和使用的方法 (2)掌握函数递归调用的方法 (3)掌握全局变量,局部变量,静态变量的使用方法 (4)掌握内联函数,重载函数及默认函数参数的使用方法 (5)掌握自定义头文件的方法,学会建立和调试多文件程序 (6)练习函数模板的使用 (7)使用debug调试功能,使用step into追踪到函数内部3.实验内容: (1)编写函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9 (2)编写重载函数Max1可分别求取两个整数,三个整数,两个双精度,三个双精度的最大值 (3)使用函数模板重新实现任务2中的函数Max1 (4)用递归的方法编写汉书Fibonacci级数,观察递归调用的过程4.实验要求:完成实验内容,并撰写实验报告。5.实验设备及器材:【实验三】数组、指针与字符串1.实验学时:42.实验目的: (1)学习使用数组 (2)学习字符串数据的组织和处理 (3)掌握指针的使用方法 (4)通过Debug观察指针的内容及其所指的对象内容 (5)练习通过动态内存分配实现动态数组,并体会指针在其中的作用 (6)分别使用字符数组和标准C+库练习处理字符串的方法3.实验内容: (1)编写并测试33矩阵的转置函数,使用数组保存33矩阵 (2)使用动态内存分配生成动态数组重新完成上题,使用指针实现函数的功能 (3)编程实现两字符串的连接。要求使用字符数组,不使用系统函数 (4)定义一个Employee类,其中包括姓名、街道、城市和邮编等属性,以及change_name()和display等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。 (5)定义包含5个元素的对象数组,每个元素都是Employee类型的对象。4.实验要求:完成实验内容,并撰写实验报告。5.实验设备及器材:Visual C+ 6.0【实验四】 类与对象1.实验学时:42.实验目的: (1)掌握类的定义和使用 (2)掌握类的定义和对象的使用 (3)复习具有不同访问属性的成员的访问方法 (4)观察构造函数和析构函数的执行过程 (5)学习类的聚集使用方法 (6)使用debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。3.实验内容: (1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个共有成员函数run、stop。其中,rank为枚举类型定义为enum CPU_RanlP1=1,P2,P3,P4,P4,P5,P6,P7,frequency为单位是MHz的整数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 (2)定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。Cpu为CPU类的对象,ram为RAM类的一个对象,cdrom为CDROM类的对象,定义并实现这个类。 (3)设计一个用于人事管理的People类。考虑到通用性,只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。 (4)(综合)设计一个电子日期类CDate。满足如下要求: 用日/月/年格式输出日期 可运行日期加一天的操作 设置日期4.实验要求:完成实验内容,并撰写实验报告。5.实验设备及器材:Visual C+ 6.0【实验五】继承与派生1.实验学时:42.实验目的: (1)学习定义和使用类的继承关系、定义派生类 (2)熟悉使用不同继承方式下对基类成员的访问控制 (3)学习利用虚基类解决二义性问题3.实验内容: (1)定义基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看有什么问题,把age改为公有成员变量,还有问题吗? (2)定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况 (3)定义一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车类有高度等属性,汽车类有座位等属性。从自行车类和汽车类派生出摩托车(motocycle)类,在继承过程中,把vehicle设置为虚基类,如果不把vehicle设置为虚基类,会有什么问题? (4)(综合)从实验4任务3中的people类派生出student类,添加属性:班号char classNO7;从people类派生出teacher类,添加属性:职务char principalship11、部门char department21。从student类中派生出研究生类(graduate),添加属性:专业char subject21、导师teacher adviser;从graduate类和teacher类派生出TA(助教生)类,注意虚基类的使用。重载相应的成员函数,测试这些类 (5)(设计)设计职工大学学员信息系统4.实验要求:完成实验内容,并撰写实验报告。5.实验设备及器材:Visual C+ 6.0【实验六】 多态性1.实验学时:62.实验目的: (1)掌握运算符重载的方法 (2)学习使用虚函数实现动态多态性3.实验内容: (1)定义Point类,有坐标x、y两个成员变量;对Point类重载“+”、“ ”运算符,实现对坐标值的改变 (2)定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从自行车类和汽车类派生出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第二部分 第十一章 第56课时 交通运输布局对区域发展的影响(重难课时) 2026年高考地理第一轮总复习
- 2026届安徽省淮南市大通区(东部)九年级化学第一学期期中学业水平测试试题含解析
- 陕西省西安市临潼区2025年英语九年级第一学期期末考试模拟试题含解析
- 2026届四川省泸州市泸县化学九年级第一学期期末综合测试试题含解析
- 水力学试题及答案
- 湖南省安仁县2026届九年级英语第一学期期末综合测试模拟试题含解析
- 黔西南市重点中学2026届化学九上期中质量检测试题含解析
- 《协议离婚草稿:包含婚姻关系解除后的赡养协议》
- 离婚财产分配及子女监护权明确协议
- 内蒙古赤峰市洪山区2026届化学九上期中学业质量监测模拟试题含解析
- 甲油胶行业报告
- UL499标准中文版-2017电加热装置UL中文版标准
- 《中国香文化发展史》课件
- 大型活动医疗保障应急预案
- BEC商务英语初级考试历年真题及答案6套
- 消除“艾梅乙”医疗歧视-从我做起
- 工程项目规模分级标准(评审)
- 北师大版小学数学六年级上册《圆》单元作业设计
- 初中物理、化学、生物理科实验操作考核表及评分细则
- 不违反计划生育协议书模板
- 07FD02 防空地下室电气设备安装
评论
0/150
提交评论