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

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

来源:用户分享 时间:2020-06-22 本文由爱久暖心 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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

课程总学时:64 学分:4

实验学时:16 实验个数: 6个 实验学分:1分 课程性质:专业必修课 适用专业:计算机类专业 教材及参考书:《C++语言程序设计(第四版)》,郑莉、董渊编著,北京:清华大学出版社,2011

大纲执笔人:杨军 大纲审定人:

一、实验课的性质与任务

本课程实验大纲是面向计算机专业学生开设的《C++程序设计》实验课计划指导大纲,是依据《面向对象程序设计》课程教学计划指导大纲编制。本课程主要讲述了利用C++进行程序设计的思想和方法,既有面向过程和面向对象的程序设计的理论知识,又包括极强的实践应用能力的培养。本实验大纲力求结合该课程教学计划大纲的相应内容,由浅入深的指导学生了解和掌握如何利用C++程序设计语言进行程序设计,提高学生的动手能力,做到理论和实践相结合,培养学生理解,分析程序,编写,调试程序的能力,使之能把程序设计应用到今后的专业学习中。

二、实验目的与要求

1.实验目的

通过本课程的学习,使学生掌握面向过程的程序设计思想和编程思路,初步掌握面向对象的程序设计思想,学会调试程序,能独立编写实用的小型程序。

2.实验要求

(1) 学生应该自始至终贯彻课程中所介绍的程序设计风格,养成良好的编程习惯; (2) 应独立完成所布置习题。为保证尽量在统一安排的上机时间内编译运行通过程序,

学生应事先设计好程序。

三、实验项目及内容提要 实序号 验编号 面向对象程序设计实验课程 (071016) 实验类型 学 基学必选分本验综设时 做 做 数 操证 合 计 作 4 √ 实验名称 内容提要 1 1 类与对象 函数重载,类 √ 的设计与使用 作用域与生 √ 存期,静态成员 三种常见编 √ 程元素的使用 √ 派生类的设2 2 C++程序的结构 数组、指针与字符串 继承与派生 2 √ 3 3 4 √ 2 √ 4 4 计与使用 5 5 多态性 2 √ √ 运算符重载、动态多态 模板,异常处理机制的设计 6 6 模板和文件 2 √ √ 四、实验内容安排:

实验一 类与对象 ( 设计性实验 4学时)

1. 目的要求:

1) 掌握类的定义和使用;掌握类对象的声明;练习具有不同访问属性的成员的访问方式;观察构造函数和析构函数的执行过程;

2) 学习类组合使用方法;

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

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

2) 写一个函数,具有一个引用作为形参参数,在函数中改变引用变量的值,观察实参变量的变化。

3) 定义一个CPU类,包含等级(Rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU__Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。

4) 定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类,为以上的类编写构造和析构函数,观察组合类和内嵌类的构造函数和析构函数的调用顺序。

5) 为题目2)的类编写复制构造函数,在主函数中利用复制构造的方式创建新的对象,观察对象的状态。

6) 思考并回答以下概念:函数重载,引用,类,对象,数据成员,函数成员,访问属性,构造函数,析构函数,类的组合,内嵌对象,初始化列表,复制构造函数。 3. 主要仪器设备及软件:PC+Windows 2000+VC 6.0

实验二 C++程序的结构 ( 设计性实验 2学时)

1. 目的要求:

1) 观察程序运行中变量的作用域、生存期和可见性; 2) 学习类的静态成员的使用;

3) 学习多文件结构在C++程序中的使用。 2. 实验内容:

1) 实现客户机(CLIENT)类。定义字符型静态数据成员ServerName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。

2) 利用多文件结构实现题目1),在头文件client.h中定义类,在文件client.cpp中实现该类,在文件test.cpp 中测试这个类,观察相应的成员变量取值的变化情况,要求ClientNum能够实时记录客户机对象的数量。

3) 思考并回答以下概念: 类的静态数据成员,类的静态函数成员,多文件结构,文件包含。

3. 主要仪器设备及软件:Windows 2000+VC 6.0

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

(设计性实验 4学时)

1. 目的要求:

1) 学习使用数组;学习字符串数据的组织和处理;学习标准C++库的使用; 2) 掌握指针的使用方法;练习通过debug观察指针的内容及其所指的对象的内容;练习通过动态内存分配实现动态数组,并体会指针在其中的作用;

3) 分别使用字符数组和标准C++库练习处理字符串的方法。 2. 实验内容:

1) 编写一个类用于处理3×3矩阵转置,测试转置的效果,输出转置前后的矩阵。

2) 定义一个具有构造函数和析构函数的类,如实验一的CPU类,定义一个CPU的对象数组,观察构造函数的析构函数的调用过程。 3) 利用动态内存分配的方式重新完成题目2)。

4) 使用系统提供的string类定义字符串对象并初始化,实现从原始字符串中提取一个子串。

5) 选做:定义一个Point(二维点类)的对象数组,利用该数组实现直线的线性拟合。 6) 选做:定义一个动态数组类。

7) 思考并回答:数组,指针,对象数组,动态内存分配,默认构造函数,标准类库,字符串类 string,线性拟合。

3. 主要仪器设备及软件:Windows 2000+VC 6.0

实验四 继承与派生

(设计性实验 2学时)

1. 目的要求:

1) 学习定义和使用类的继承关系,定义派生类;熟悉不同继承方式下对基类成员的访问控制;

2) 学习利用虚基类解决二义性问题。 2. 实验内容:

1) 定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把 age改为公有成员变量,还会有问题吗?编程试试看。

2) 定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,定义该派生类的对象,观察构造函数和析构函数的执行情况。

3) 定义一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类,汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcycle)类有座位数(SeatNum)等属性。从bicycle和motorcycle派生出摩托车(Motorcar)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle 设置为虚基类,会有什么问?编程实验及分析原因。 4) 思考并回答:继承,派生,子类对基类成员的访问权限,继承方式,继承时的构造函数和析构函数的调用顺序,虚基类

3. 主要仪器设备及软件:PC+Windows 2000+VC 6.0

实验五 多态和运算符重载 ( 设计性实验 2学时)

1. 目的要求:

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

1) 定义Point类,有坐标x,y两个私有成员变量;对Point类重载“+”(相加)、“-”(相减)和“==”(相等)运算符,实现对坐标的改变,要求用友元函数和成员函数两种方法实现。对Point类重载<<运算符,以使得代码 Point p; cout<

2) 定义一个车(vehicle)基类,有虚函数Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,它们都有Run、Stop等成员函数。在主函数中用不同的方法调用Run、Stop成员函数,观察这些函数的执行结果,思考如何实现动态多态性,如果Run、Stop没有被定义为虚函数,执行结果会怎样,把结果和分析写入实验报告。

3) 选做,利用类完成求函数的积分(参考教材)。

4) 思考并回答:多态,实现多态性的方法,虚函数,运算符重载,前++,后++,实现运算符重载的方式。

3. 主要仪器设备及软件:PC+Windows 2000+VC 6.0

实验六 模板和文件 (设计性实验 2学时)

1. 目的要求:

1) 理解模板的作用和语法。

2) 学习掌握C++文件处理类的基本用法。 2. 实验内容:

1) 使用函数模板实现一个求3个数最大值的函数,并完成测试。 2) 编写程序,用二进制方式打开指定的一个文件,在每一行前加行号。 3) 选做,练习使用STL中的vector模板类。

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育《面向对象程序设计》(c++)实验教学大纲 全文阅读和word下载服务。

《面向对象程序设计》(c++)实验教学大纲 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1095360.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top