兰州交通大学国家级计算机实验教学示范中心欢迎您!

设为首页 加入收藏 联系我们

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

 
 
您的位置: 首页 > 实验教学 > 实验课程
实验课程
面向对象程序设计专题实验
 

一、实验课程基本信息

课程代码

32021341

课程英文名称

The Experiments of OOP

开课实验室

计算机科学与技术实验中心

课程性质

必修课

课程类别

实践教育

单开课

是 R 否□

实验学时

1周

学分数

1

适用专业

计算机科学与技术

执笔人

杜晓刚

审核人

陈永

编写日期

2013年 3 月

二、实验课程教学目的

《面向对象程序设计专题实验》是计算机科学与技术专业一门非常重要的专业实践课。本课程是在理论教学的基础之上,加强学生的面向对象程序设计能力的必不可少的部分。通过面向对象程序设计实验,培养学生对面向对象基本概念的理解以及采用面向对象方法进行问题分析和程序设计的能力。

三、实验课程教学基本要求

1.任课教师需向学生介绍课程性质、任务、要求、课程安排和进度、实验部分的考核内容和方式方法等基本内容。

2.本课程实验以设计性实验为主,学生应结合任课教师给出的实验题目,认真预习,实验后学生应填写实验报告并交任课教师批阅。

3.实验中根据实验内容,在规定时间内由学生独立完成,出现问题时,任课教师应当指导学生独立分析并解决问题。

四、实验课程教学基本内容

实验项目编号: 01

实验项目名称

类和对象

实验类型

设计性

实验学时

4

必开 R 选开 □

备注

目的和要求:

  1. 理解类和对象的基本概念;
  2. 掌握类的组成和实现方法;
  3. 掌握对象的构造、使用和销毁。

内容:

1.定义一个时间类,能提供和设置由时分秒组成的时间,并编写出应用程序,定义时间对象,设置时间,输出该对象提供的时间。

2.设计一个学生类student,它具有的私有数据成员是:注册号、姓名、数学成绩、英语成绩、计算机成绩;具有的公有成员函数是:求三门课总成绩的函数sum();求三门课平均成绩的函数average();显示学生数据信息的函数print();获取学生注册号的函数get_reg_num();设置学生数据信息的函数set_stu_inf()。

编制主函数,说明一个student类对象的数组并进行全班学生信息的输入和设置,而后求出每一个学生的总成绩、平均成绩、全班学生总成绩最高分、全班学生总平均分,并在输入一个注册号后,输出该学生有关的全部数据信息。

主要仪器设备及试剂:

安装有Visual C++6.0开发环境的PC机。

实验项目编号: 02

实验项目名称

继承和派生

实验类型

设计性

实验学时

8

必开 R 选开 □

备注

目的和要求:

(1) 理解继承与派生的基本概念;

(2) 理解并掌握单一继承和多继承的原理;

(3) 掌握在不同继承方式下的基类成员的访问控制。

内容:

(1)设计一个大学的类系统,学校中有学生、教师、职员,他们之间有相同的地方,又有自己的特性,利用继承机制定义这个系统中的各个类及类中必须的操作。

(2)假定车可分为货车和客车,客车又可分为轿车、面包车和公共汽车。请设计相应的类层次结构。

(3)设计一个能细分为矩形、三角形、圆形和椭圆形的图形类。使用继承将这些图形分类,找出能作为基类部分的共同特征(如宽、高、中心点等)和方法(如初始化、求面积等),并看看这些图形能否进一步划分为子类。

(4)考虑大学的学生情况,试利用单一继承来实现学生和毕业生两个类,设计相关的数据成员及函数,编程进行测试继承的情况。

提示:作为学生一定有学号、姓名、性别、学校名称及入学时间等基本信息,而毕业生除了这些信息外,还应有毕业时间、所获学位的信息,可根据这些内容设计类的数据成员,也可加入一些其他信息,除了设计对数据进行相应操作的成员函数外,还要考虑到成员类型、继承模式,并在main()函数中进行相应测试。可设计多中继承模式来测试继承的属性。

主要仪器设备及试剂:

安装有Visual C++6.0开发环境的PC机。

实验项目编号: 03

实验项目名称

多态

实验类型

设计性

实验学时

8

必开 R 选开 □

备注

目的和要求:

(1) 理解并掌握虚函数及纯虚函数的概念;

(2) 掌握多态的实现方法;

(3) 理解使用多态的作用。

内容:

(1)某单位所有员工根据领取薪金的方式分为如下几类:时薪工(hourlyworker),计件工(pieceworker),经理(manager),佣金工(commissionworker)。时薪工按工作的小时支付工资,对于每周超过50小时的加班时间,按照附加50%薪水支付工资。按生产的每件产品给计件工支付固定工资,假定该工人仅制造一种产品。经理每周得到固定的工资。佣金工每周得到少许的固定保底工资,加上该工人在一周内总销售的固定百分比。试编程实现该单位的所有员工类,并加以测试。

(2)编写程序,计算汽车运行的时间,首先建立基类car,其中含有数据成员distance存储两点间的距离。假定距离以英里计算,速度为每小时80英里,使用虚函数travel_time()计算并显示通过这段距离的时间。在派生类kilometre中,假定距离以千米计算,速度以每小时120千米,使用函数travel_time()计算并显示通过这段距离的时间。

(3)设计一个类animal和它的派生类tiger(虎)、sheep(羊),实现虚函数。

提示:可自行定义这些类的成员变量,但animal基类中应有动物性别的成员变量,但要说明每种动物的叫soar()及吃eat()的成员函数,可用cout输出来表示。要求每个派生类生成两个对象,打乱次序存于一个数组中,然后用循环程序访问其叫与吃的成员函数,必须用到虚函数。

(4)有三角形、正方形和圆形三种图形,求它们各自的面积。可以从中抽象出一个基类,在基类中声明一个虚函数,用来求面积,并利用一个接口多种实现的方式设计各个图形求面积的方法。

主要仪器设备及试剂:

安装有Visual C++6.0开发环境的PC机。

五、考核方法与成绩评定

本课程采取的考核方式:上机考试。

课程总成绩=考勤成绩×10%+平时实验成绩×50%+考试成绩×40%

考勤成绩:根据实验出勤情况确定考勤成绩;

平时实验成绩:主要根据实验结果的正确性和实验报告的完整规范性进行考核;

考试成绩:教师确定实验考试题目,让学生在规定的时间内上机完成,根据完成情况确定考试成绩。

六、建议教材与教学参考书

[1]《Visual C++面向对象程序设计教程与实验》,温秀梅等编,清华大学出版社,2005年;

[2]《C++语言程序设计习题与实验指导》(含光盘),郑莉 等,清华大学出版社,

中心图片  
“博创杯”西北赛区开幕式 校长观看学生作品演示 专家对参赛作品进行评审 专家对参赛作品进行评审 专家对参赛作品进行评审 博创杯颁奖仪式 学生作品展示 学生作品展示 学生作品展示 学生作品展示 学生作品展示
 
 
 
 
 
 

单位名称:兰州交通大学计算机科学与技术实验教学中心  中心办公室电话:0931-4957181、0931-4957180
 网址:http://jsjsfzx.lzjtu.edu.cn      E-mail:jsjsfzx@mail.lzjtu.cn        邮政地址:兰州交通大学802信箱   730070
 地址:兰州市安宁区安宁西路88号   兰州交通大学第六教学楼(图书馆东侧)