您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 计算机《面向对象程序设计》实验指导书02V
陕西理工学院计算机科学与技术系《面向对象程序设计语言》实验指导班级计算机科学与技术09级指导教师曹阳林勇软件工程教研室2010年3月3日《面向对象程序设计》实验指导书第1页共12页《面向对象程序设计语言》实验指导书前言一、实验目标:理解程序语言的基本知识以及面向对象程序设计的特点,掌握三种基本的程序结构;掌握程序设计的基本方法,能够利用类、对象、派生类、继承、多态性、虚函数、模板、等知识设计一些应用程序,增强利用计算机解决现实问题的意识和能力,从而使学生能深刻理解和领会面向对象程序设计的特点和风格,类的封装性、继承性和多态性与程序的安全性、结构性和灵活多样性之间的关系,达到掌握其设计方法和编程基础的目的,并为后续课程打下坚实的基础。二、实验内容:本实验课程的内容及实验项目依据2006版信息管理与信息系统专业的教学大纲,结合本课程的教材来确定,其实验项目及其简要内容如下表;序号实验项目名称实验方法、内容提要性质类型学时1简单C++程序设计用输入/输出流实现简单的程序设计必做验证22函数重载和内联函数重载函数、内联函数的定义及其调用必做验证23数组及其应用用数组或向量进行矩阵的加法和乘法运算。必做验证24结构体及其应用用结构体数组处理学生成绩必做验证25类和对象类和对象设计,以及类和对象的使用必做验证26构造函数与析构函数定义和使用构造函数、析构函数必做验证27派生与继承设计派生类,以及在程序中实现继承和多重继承必做验证28运算符重载实现运算符重载的机制和运算符重载的方式必做验证29学生通讯录管理系统管理运用所学知识开发一简单的通讯录管理系统,实现界面设计、数据处理等功能必做综合设计4三、实验方法:根据每次实验内容与要求,按照C++编程方法步骤,完成程序设计与代码编写,调试运行后,将相关文件保存到指定位置。可参考讲义中给出的编程步骤和源代码。四、实验课程考核办法《面向对象程序设计》实验指导书第2页共12页1、该实验课程考核成绩按百分制计算,满分为100分,60分为及格,60分以上者可获取该学分。2、该实验课考核由三部分组成:实验课前预习(20%),实验操作(60%),实验报告(20%)。3、各部分成绩由实验指导教师在每个实验项目完成后分别给出,在学期结束后或完成全部实验项目后综合给出该门实验课的成绩。4、学生未完成规定实验项目的60%,该课按不及格处理《面向对象程序设计》实验指导书第3页共12页实验一简单C++程序设计实验性质:必修实验类型:验证性实验学时:2学时主要仪器设备、软件:装有VisualC++6.0的微型计算机实验目的1、了解和使用VC集成开发环境;2、学会用VC环境编写和调试C++程序;3、学会在C++编程中使用输入输出流;实验内容1、编写一个简单程序,运用cin和cout将下列整数数列从键盘输入,再按倒序从屏幕输出。1122345676289102、编写另外一个程序,将上述数据按3位数的格式输出到屏幕,位数不足3位时在前位补0.实验要求:1、上述两个内容都是以10个输入数为例的,要求同学们在编程时考虑到超出程序能处理任意个数的情况。2、实验之前,要认真预习实验,对本实验中的3个设计内容进行算法分析,画出流程图。3、进入实验室时每个人都要在纸张上写出本实验中的三个程序。4、实验结束后2日之内必须撰写并上交实验报告。《面向对象程序设计》实验指导书第4页共12页实验二函数的重载和内联实验性质:必修实验类型:验证性实验学时:2学时主要仪器设备、软件:装有VisualC++6.0的微型计算机实验目的:1、学会函数的定义格式和说明方法,掌握返回值得用法以及调用方式,区别传递变量、引用、地址的3种调用方式的不同;2、深刻理解函数重载的概念和实质,掌握参数类型和个数不同的函数的重载的定义及其调用;3、深刻理解内联函数的概念及其引入的原因,掌握内联函数的定义及其声明方式。实验内容:1、编写求空间三条线段之和的程序,该程序中要求要有3个重载函数,分别求两端点数轴上、两端点在平面上以及两端点在空间的线段的长度。(限定在直角坐系)2、对上述问题采用默认参数值的函数声明方法进行编写,当函数参数值为默认值时,线段的第一个端点为坐标原点,若线段位于数轴上另一端点为1,若线段位于平面上则另一端为(1,1),若线段位于空间则另一端点为(1,1,1).实验要求:1、实验之前,要认真预习实验,对本实验中的设计内容进行算法分析,画出流程图。2、进入实验室时每个人都要在纸张上写出本实验中的三个程序。3、实验结束后3日之内必须撰写并上交实验报告。《面向对象程序设计》实验指导书第5页共12页实验三数组及其应用实验性质:必修实验类型:验证性实验学时:2学时主要仪器设备、软件:装有VisualC++6.0的微型计算机实验目的:1、深刻理解数组的存储方式,学会一维数组、二维数组的定义,数组元素的引用。2、深刻理解向量的存储方式,学会一维向量、二维向量的定义,向量中元素的增减方法以及向量的其它行为方式。实验内容:编写求两个10×10的矩阵A与B相乘、乘积存放在矩阵C中的C++程序。实验要求:1、编写上述程序首先考虑使用向量完成,其次考虑使用数组完成。2、实验之前,要认真预习实验,对本实验中的设计内容进行算法分析,画出流程图。3、进入实验室时每个人都要在纸张上写出本实验中的三个程序。4、由于矩阵运算中的数据量比较大,所以举证A、B的数据可以事先存放在磁盘文件a.txt和b.txt中,在程序设计过程中使用文件输入流输入。5、实验结束后3日之内必须撰写并上交实验报告。《面向对象程序设计》实验指导书第6页共12页实验四结构体及其应用实验性质:必修实验类型:验证性实验学时:2学时主要仪器设备、软件:装有VisualC++6.0的微型计算机实验目的:1、掌握结构的概念和结构类型的定义;2、掌握结构变量的定义和初始化;3、掌握结构体类型的概念和应用;4、掌握结构成员的访问、结构赋值的含义以及结构与指针、函数的关系。实验内容:1、有5个学生,每个学生的数据包括学号、姓名、三门课成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分和学生的数据(包括学号、姓名、三门课成绩、平均分)。2、将上题按照平均分由大到小排序并按大到小排序后输出每位学生的学号、姓名、三门课成绩和平均分。实验要求:1、要求用结构体类型的数组或结构体类型的向量来实现。程序在编写时应该考虑到能够处理任意个学生数据的情况。2、实验之前,要认真预习实验,对本实验中的设计内容进行算法分析,画出流程图。3、进入实验室时每个人都要在纸张上写出本实验中的三个程序。4、实验结束后3日之内必须撰写并上交实验报告。《面向对象程序设计》实验指导书第7页共12页实验五类和对象实验性质:必修实验类型:验证性实验学时:2学时主要仪器设备、软件:装有VisualC++6.0的微型计算机实验目的:1、深刻理解并掌握类和对象的概念、结构及其本质;2、掌握类和对象的定义方法和使用方法。掌握数据成员和函数成员的定义原则。3、掌握函数的内联和外联;静态数据成员和函数成员以及友元函数;成员函数的重载等概念;实验内容:运用类和对象技术编写一个关于m×n矩阵操作的程序。本程序要实现的功能是,(1)矩阵转置;(2)两个矩阵相加;(3)两个矩阵相乘;(4)矩阵初始化等。对于矩阵及其行列数等数据性的成员放在类的私有属性区中,有关操作函数放在公有属性区中。本程序要能实现对任意矩阵的操作,在函数参数传递时尽量使用地址传递和引用传递。实验要求:1、整个程序要用三个文件来完成,程序中要用到的函数的声明、全局量声明以及类的声明放在头文件中,函数的实现以及类的实现放在一个实现文件中,应用程序放在另一个文件中。2、实验之前,要认真预习与本实验内容及其要求中相关的知识,对本实验中的设计内容进行算法分析,画出流程图。3、进入实验室时每个人都要在纸张上写出本实验中的三个程序。4、编程运行时用到的数据可以事先存放在磁盘文件中,然后用输入读入程序。5、实验结束后3日之内必须撰写并上交实验报告。《面向对象程序设计》实验指导书第8页共12页实验六构造函数与析构函数实验性质:必修实验类型:验证性实验学时:2学时主要仪器设备、软件:装有VisualC++6.0的微型计算机实验目的:1、深刻理解并掌握构造函数和析构函数的概念及其实质;2、掌握构造函数和析构函数的定义方法和使用方法及其重载。实验内容:本实验的内容在承袭实验四的基础上增加构造函数和析构函数,其内容如下:1.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。观察构造函数和析构函数的调用顺序。2.运用类和对象技术编写一个关于m×n矩阵操作的程序。本程序要实现的功能是,(1)矩阵转置;(2)两个矩阵相加;(3)两个矩阵相乘;(4)运用构造函数对矩阵对象进行初始化;(5)程序运行结束前撤销对象。对于矩阵及其行列数等数据性的成员放在类的私有属性区中,有关操作函数放在公有属性区中。本程序要能实现对任意矩阵的操作,在函数参数传递时尽量使用地址传递和引用传递。实验要求:1、整个程序要用三个文件来完成,程序中要用到的函数的声明、全局量声明以及类的声明放在头文件中,函数的实现以及类的实现放在一个实现文件中,应用程序放在另一个文件中。2、实验之前,要认真预习与本实验内容及其要求中相关的知识,对本实验中的设计内容进行算法分析,画出流程图。3、进入实验室时每个人都要在纸张上写出本实验中的三个程序。4、编程运行时用到的数据可以事先存放在磁盘文件中,然后用输入读入程序。5、实验结束后3日之内必须撰写并上交实验报告。《面向对象程序设计》实验指导书第9页共12页实验七派生与继承实验性质:必修实验类型:验证性实验学时:2学时主要仪器设备、软件:装有VisualC++6.0的微型计算机实验目的:1、深刻掌握父类与派生类的概念、性质及其作用。2、掌握派生类继承父类的三种继承方式。实验内容:1、定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(intn)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。2、设计一个关于计算矩形面积及其周长的类TBox并用该类创建对象。3、设计一个关于计算立方体体积及其表面积的类TCube,要求该类是在设计时必须继承TBox类。实验要求:1.实验之前,要认真预习与本实验内容及其要求中相关的知识,对本实验中的设计内容进行算法分析,画出流程图。2.进入实验室时每个人都要在纸张上写出本实验中的三个程序。3.编程运行时用到的数据可以事先存放在磁盘文件中,然后用输入读入程序。4.实验结束后3日之内必须撰写并上交实验报告。《面向对象程序设计》实验指导书第10页共12页实验八运算符重载实验性质:必修实验类型:验证性实验学时:2学时主要仪器设备、软件:装有VisualC++6.0的微型计算机实验目的:深刻掌握C++中运算符的概念、实质以及多重载定义方法、应用方法;学习使用虚函数实现动态多态性实验内容:++和――运算一般情况下主要用于整型数据的运算,现在要求定义一个具有两项私有属性数据成员的类,在该两类中实现++与――运算符的重载定义,当对该类的对象施加++或――运算时,实质上是对其中的两个私有数据成员同时实施++或――运算。(本实验中程序的编写可参阅教材8.3操作符一节的内容)1、定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“--”(自减)运算符,实现对坐标的改变。2、定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle到motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数
本文标题:计算机《面向对象程序设计》实验指导书02V
链接地址:https://www.777doc.com/doc-2097479 .html