77范文网 - 专业文章范例文档资料分享平台

《面向对象程序设计》实验大纲

来源:网络收集 时间:2020-04-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《面向对象程序设计》实验教学大纲

课程名称:面向对象程序设计 课程编号:1001014

课程性质: 非独立设课 课程属性 专业

学时学分:总学时 70 ,学分 3.5 ;验学时 20 ,实验学分 应开实验学期: 三 年级 五 学期

适用专业: 计算机科学与技术 先修课程: C语言程序设计 大纲主撰人: 席磊 大纲审核人: 一、实验课程简介

开设本课程的目的是使学生掌握使用C++语言进行应用程序设计的基本方法和技能,注重培养学生编程能力、分析问题和解决问题的能力。

本课程的任务是使学生掌握C++语言的基本内容,C++的基本数据类型、表达式、控制结构、函数、指针、类和对象、继承与派生、多态性、模板等。学习这些内容之后,学生应能理解和掌握有关概念,具备运用有关编程技术来编写较大和比较复杂的应用程序的能力。 二、实验目的与基本要求

通过试验,使学生进一步掌握掌握面向对象程序的基本概念,特点,结构,原理及设计方法,重点学习C++程序设计语言的相关内容,能阅读C++程序,掌握编程技巧,培养学生面向对象的程序设计与软件开发能力,巩固和加深面向对象程序设计理论知识,加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。

三、实验项目名称与学时分配 序号 实验项目名称 VC++6.0开发环境与C++简单程序设计 函数的应用 类与对象 数组、指针与字符串 继承与派生 多态性 合计 四、实验方式与基本要求

(1)上机实验之前,学生应当为每次上机的内容作好充分准备.对每次上机需要完成的题目进行认真的分析,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。

学时 2 2 4 2 4 4 20 要求 必做 必做 必做 必做 必做 必做 类型 基础 基础 综合 基础 综合 综合 每组人数 1 1 1 1 1 1 (2)按照实验目的和实验内容以及思考题的要求进行上机操作.录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。

(3)根据实验结果,写出实验报告.实验报告应当包括:实验题目,程序清单,运行结果。 五、考核方式与成绩评定

考核内容包括实验报告完成及实验现场操作情况等。成绩考核采用百分制,实验成绩折合入期末总成绩。 六、教学参考书目

C++语言基础教程.吕凤翥著.清华大学出版社.1999 C++程序设计教程 钱能编著.清华大学出版社.1999

郑莉,《C++语言程序设计习题与实验指导》,清华大学出版社.2000 七、实验内容安排

实验一 VC++6.0开发环境与C++简单程序设计

1、 目的要求:

(1)熟悉和使用VC集成开发环境,使用Console Application工程进行简单的程序开发 (2)掌握C++程序的基本组成,数据类型和表达式,程序的基本控制结构 (3)学习过程化程序设计方法

(4)进一步学习掌握查找与修改编译错误的方法 (5)初步学习调试方法 2、 实验内容:

(1)输入并运行教材《C++语言程序设计》中的例题2-7。程序正确运行后,去掉源程序中#include语句,重新编译,观察会有什么问题 (2)编程计算图形面积

(3)使用debug调试功能观察任务2中变量值的变化情况

(4)定义结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入,然后完整显示出来

实验二 函数的应用

1、 目的要求:

(1)掌握函数声明,定义和使用的方法 (2)掌握函数递归调用的方法

(3)掌握全局变量,局部变量,静态变量的使用方法 (4)掌握内联函数,重载函数及默认函数参数的使用方法 (5)掌握自定义头文件的方法,学会建立和调试多文件程序 (6)练习函数模板的使用

(7)使用debug调试功能,使用step into追踪到函数内部 2、实验内容:

(1)编写函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9

(2)编写重载函数Max1可分别求取两个整数,三个整数,两个双精度,三个双精度的最大值

(3)使用函数模板重新实现任务2中的函数Max1

(4)用递归的方法编写汉书Fibonacci级数,观察递归调用的过程

实验三 数组、指针与字符串

1、 目的要求: (1)学习使用数组

(2)学习字符串数据的组织和处理 (3)掌握指针的使用方法

(4)通过Debug观察指针的内容及其所指的对象内容

(5)练习通过动态内存分配实现动态数组,并体会指针在其中的作用 (6)分别使用字符数组和标准C++库练习处理字符串的方法 2、实验内容:

(1)编写并测试3×3矩阵的转置函数,使用数组保存3×3矩阵

(2)使用动态内存分配生成动态数组重新完成上题,使用指针实现函数的功能 (3)编程实现两字符串的连接。要求使用字符数组,不使用系统函数 (4)定义一个Employee类,其中包括姓名、街道、城市和邮编等属性,以及change_name()和display等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。

(5)定义包含5个元素的对象数组,每个元素都是Employee类型的对象。

实验四 类与对象

1、目的要求:

(1)掌握类的定义和使用 (2)掌握类的定义和对象的使用

(3)复习具有不同访问属性的成员的访问方法 (4)观察构造函数和析构函数的执行过程 (5)学习类的聚集使用方法

(6)使用debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序 2、实验内容:

(1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个共有成员函数run、stop。其中,rank为枚举类型定义为enum CPU_Ranl{P1=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。满足如下要求:

● 用日/月/年格式输出日期 ● 可运行日期加一天的操作 ● 设置日期

实验五 继承与派生

1、目的要求:

(1)学习定义和使用类的继承关系、定义派生类 (2)熟悉使用不同继承方式下对基类成员的访问控制 (3)学习利用虚基类解决二义性问题 2、实验内容:

(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 classNO[7];从people类派生出teacher类,添加属性:职务char principalship[11]、部门char department[21]。从student类中派生出研究生类(graduate),添加属性:专业char subject[21]、导师teacher adviser;从graduate类和teacher类派生出TA(助教生)类,注意虚基类的使用。重载相应的成员函数,测试这些类 (5)(设计)设计职工大学学员信息系统

实验六 多态性

1、目的要求:

(1)掌握运算符重载的方法 (2)学习使用虚函数实现动态多态性 2、实验内容:

(1)定义Point类,有坐标x、y两个成员变量;对Point类重载“++”、“- -”运算符,实现对坐标值的改变

(2)定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从自行车类和汽车类派生出摩托车(motocycle)类,都有Run、Stop等成员函数。观察虚函数的使用。 (3)(综合)对实验4任务3中的people类重载“==”远算符和“=”运算符,“==”运算符判断两个people类对象的id属性是否相等;“=”运算符实现people类对象的赋值操作 (4)(设计)参考C++标准库中的String类,设计创建一个功能类似的小型字符串类

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《面向对象程序设计》实验大纲在线全文阅读。

《面向对象程序设计》实验大纲.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/977701.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: