人人范文网 范文大全

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

发布时间:2020-03-02 13:42:30 来源:范文大全 收藏本文 下载本文 手机版

《面向对象程序设计》

实验指导书

《面向对象程序设计实验》课程组

目录

实验预备 实验环境和工具使用,多文件应用程序的开发过程 实验一 类与对象

实验二 实验三 实验四 实验五 实验六 实验七 I/O实验八

构造函数、析构函数 继承-单继承 继承-多继承

多态 -运算符重载

多态-虚函数 流与文件 模板

实验预备 实验环境和工具使用 多文件应用程序的开发过程

一、实验目的与要求

Visual C++提供了一个集源程序编辑、代码编译与调试于一体的开发环境,这个环境称为集成开发环境,对于集成开发环境的熟悉程度直接影响程序设计的效率,本实验通过学习Visual C++ 6.0界面的常用组成情况,并学习各种常用的窗口、菜单、按钮的意义和功能,并通过一些简单的程序设计,目的是使学生对用户界面、菜单和工具栏有一个全面的了解并掌握主要菜单命令。

 了解Visual C++集成开发环境的界面组成;  理解菜单命令的含义  掌握“New:”菜单命令、“Breakpoints”菜单命令、“Build”菜单命令、“Source Brower”菜单命令、工具栏的定制和修改、联机帮助。  简单的程序设计

二、实验设备与平台

实验设备要求每个学生一台电脑,其中运行环境为VC++ 6.0系统。

三、实验内容及步骤 1.上机实验内容

        Visual C++集成开发环境的用户界面识别; 新文件、新工程项目、工作区的创建; 设置、查看和删除断点; 编译和运行程序; 浏览资源信息;

工具栏的定制和修改; 联机帮助的使用;

熟悉Visual C++编写控制台模式程序的方法; 上机输入例题,调试并运行,并观察结果;  上机编写一个程序

实验1调试并编译程序。

在Visual C++下,编写控制台模式的程序和在DOS下编写程序相似,具有简单方便的特点,一般用于后台程序的编写。控制台模式下程序的编写有两种方法,一是创建一个C++源程序文件,二是创建一个控制台模式的工程。

⑴ 创建一个C++源程序文件

① 启动Visual C++,单击“File”菜单下的“New”菜单命令,出现“New”对话框。然后选择“Files”选项卡,在此选项卡的左侧,单击“C++ Source Files”:在选项卡的右侧,选择源程序存放的位置(location)以及源程序文件名(File),然后单击【OK】按钮。注意C++源程序文件的扩展名为.cpp。

② 在编辑区输入源程序,程序内容如下:

#include void main() { for(int i=0;i键或工具栏中的

(Build)按钮或者选择“Build”菜单命令,系统提示是否创建一个默认的工程工作区,单击【是】按钮即可。 ④ 系统开始编译源程序并链接相应的文件,如果没有错误则在集成开发环境下方的状态栏中出现下列提示“0error(s),0warning(s)”,此时可以按+键或按下状态栏中的按钮或者选择“Build”菜单的“Excute 1_1.exe”运行程序,然后观察程序运行结果。用户也可以在DOS(Windows98)下或控制台模式下(Windows2000或Windows XP)直接键入文件名“1_1.exe”也可以运行程序。 ⑵创建一个控制台模式的工程

① 启动Visual C++,单击“File”菜单下的“New”菜单命令,出现“New”对话框。然后选择“Projects”选项卡,在此选项卡的左侧,单击“Win32 Console Application”;在选项卡的右侧,选择工程文件存放的位置(location)以及工程文件名(Project Name)。然后单击【OK】按钮。

② 在“Win32 Console Application-Step 1 of 1”对话框中选择应用程序的类型“An empty project”,单击【Finish】按钮。 ③ 在集成开发环境的左侧单击“File View”属性页,右键单击“Source Files”,选择“Add Files to Folder„”。在“文件名”中填入文件名,此时也可以选择存在的文件。

④ 此时在“Source Files”左侧出现一个加号,单击加号,出现新的源程序文件“1_1.cpp”,双击此文件,在集成开发环境的右侧输入例1_1.⑤ 按照创建一个C++源程序文件的第④个步骤编译和运行程序。

图1-1 向工程中添加源程序文件

图1-2 选择添加的源程序文件的文件名与类型

实验一 类与对象

一、实验目的与要求

(1) 掌握类和对象的概念、定义和使用方法。 (2) 掌握不同特性对象成员的访问方法

二、实验设备与平台

实验设备要求每个学生一台电脑,其中运行环境为VC++ 6.0系统。

三、实验内容及步骤

(1)定义一个描述学生类,数据成员包括:姓名、性别、年龄;成员函数包括:输出各个数据成员的值,设置各个数据成员的值。

(2)求点到直线的距离。定义一个点类Point,数据成员包括:坐标点。成员函数包括:设置各个数据成员的值的构造函数Point(), 取得坐标值的函数Getx(),Gety(),设计一直线类Line,数据成员包括:直线系数a,b,c;成员函数包括:取得系数的函数Geta(),Getb(),Getc();构造函数Line();

• 说明:

• d=|a*x0+b*y0+c|/sqrt(a*a+b*b)

实验二 构造函数与析构函数

一、实验目的与要求

1.掌握构造函数和析构函数的使用方法。 2.掌握静态成员的使用方法。 3.掌握友员的使用方法。

二、实验设备与平台

实验设备要求每个学生一台电脑,其中运行环境为VC++ 6.0系统。

三、实验内容及步骤

(1)写出下列程序的执行结果,然后上机进行验证。用VC6的Debug的功能跟踪构造函数、析构函数和成员函数的执行顺序。 #include cla TEST {public: TEST() { cout

x = 2; y = 50; z = 9; } TEST( int a,int b,int c ) {

cout

x = a; y = b; z = c; } void display() {

cout

if ( a>b ) return a; else return b; } ~TEST( ) {

cout

cout

void main() { TEST obj1; obj1.display ( ) ; TEST obj2( 33, 20, 80); obj2.display(); } (3) 静态成员练习:书例子 cla tc {

(4) 友元练习:书例子

实验三 继承-单继承

一、实验目的及要求

1、掌握继承、基类和派生类的概念。

2、掌握初始化基类成员的方法。

3、掌握派生类对基类的继承。

二、实验设备与平台

1、硬件环境:微型计算机,

2、软件环境:Visual C++ 6.0;

三、实验内容及步骤

• 要求:设计点类、圆类和圆柱类,其中,圆类继承点类,圆柱类继承圆类。求:圆面积。圆柱表面积、体积。 • 圆的面积:S=PI*R*R • 周长:C= 2*PI*R • 圆柱表面积:A=2*PI*R*H+2*PI*R*R • =C*H+2*S • 圆柱体积: V=PI*R*R*H =S*H

• cla Point //点类 • { • protected: • double x,y; • public: • Point(double x0,double y0); double Area();

• }; • cla Circle:public Point { //圆类 • protected: • double r; //半径 • public: • Circle(double x0,double y0,double radius) • double Area() //计算圆的面积 •

• }; • cla Cylinder: public Circle { //圆柱体类 • double h; //高度 • public: • Cylinder(double x0=0,double y0=0,double height=0) { •

• double Area() //计算圆柱体的表面积 •

• double Volume() //计算圆柱体的体积 • } • };

思考:点,矩形,立方体?

radius=0, double

实验四 继承-多继承

一、实验目的及要求

1、掌握继承、基类和派生类的概念。

2、掌握初始化基类成员的方法。

4、掌握派生类对基类的继承。

二、实验设备与平台

1、硬件环境:微型计算机,

2、软件环境:Visual C++ 6.0;

三、实验内容及步骤

1阅读程序,写出实验结果。

#include \"stdafx.h\" #include \"iostream.h\" cla BASE1 {public: void show_i() { cout

j=y; } }; int main(int argc, char* argv[]) { DERIVED obj; obj.set(5,7); obj.show_i(); obj.show_j(); return 0; } 2 书上作业。Student,worker,s_w.

实验五 运算符重载

一、实验目的及要求

1、掌握用成员函数重载运算符的方法。

2、掌握用友元函数重载运算符的方法。

二、实验设备与平台

1、硬件环境:微型计算机,

2、软件环境:Visual C++ 6.0;

三、实验内容及步骤

1、定义一个复数类,通过重载运算符:“ *”,“/”,直接实现二个复数之间的乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求乘法\"*\"用友元函数实现重载,除法\"/\"用成员函数实现重载。

分析:两复数相乘的计算公式为:(a+b i)*(c+d i)=(ac-bd )+(ad+bc) i 两复数相除的计算公式为:(a+b i)/(c+d i)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d) i

2、定义一个分数类,通过重载运算符:“ *”,“/”,直接实现二个分数之间的乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求乘法\"*\"用友元函数实现重载,除法\"/\"用成员函数实现重载。

实验六 多态性-虚函数

一、实验目的及要求

5、学习虚函数和纯虚函数的定义与使用方式。

6、理解抽象类的概念,学习如何用指针指向其他的派生类,实现多态性。

7、掌握抽象类的定义与使用方式,并注意指针的用法。

7、学习如何使用虚函数、纯虚函数、抽象类和实现类的多态性。

二、实验设备与平台

1、硬件环境:微型计算机,

2、软件环境:Visual C++ 6.0;

三、实验内容及步骤

1、虚函数的简单使用。

# include cla base { public: virtual void fh() {cout « \"In base cla \\ n \" ; } };

cla subcla: public base { public: virtual void fn() { cout « \"In subcla \\ n \" ; } };

void test( base &b) { b.fn(); } void main( ) { base be; subcla sc; cout« \" Calling test(bc) \\ n \" ; test(bc); cout« \"Calling test(sc) \\ n \" ; test(sc); }

2、定义一个从正方形、球体和圆柱体的各种运算中抽象出一个公共基 container类,在其中定义表面积和体积的纯虚函数,分析:

定义一个派生于container类的正方体类cube,在类中都具有求表面积的和体积的重定义的成员函数。 定义一个派生于container类的球体类sphere,在类中都具有求表面积和体积的重定义的成员函数。

定义一个派生于container类的圆柱体类cylinder,在类中都具有求表面积和体积的重定义的成员函数。

实验八 模板

一、实验目的及要求

1.了解函数模板、类模板与模板函数、模板类的关系; 2.熟悉函数模板、类模板的声明与实例化过程; 3.掌握应用模板进行的程序设计

二、实验设备与平台

实验设备要求每个学生一台电脑,其中运行C程序环境为VC 6.0系统。

三、实验内容及步骤

模板的概念:

若一个程序的功能是对某种特定的数据类型进行处理,则将所处理的数据类型说明为参数,就可把这个程序改写为模板。模板可以让程序对任何其他数据类型进行同样方式的处理。

C++程序由类和函数组成,模板也分为函数模板(function template)和类模板(cla template)。因此,可以使用一个带有多种不同数据类型的函数和类,而不必显式记忆针对不同的数据类型的各种具体版本。

函数模板的一般定义形式是: template 返回类型 FunctionName (形式参数表) { //函数定义体 } 其中的类型形式参数表可以包含基本数据类型,也可以包含类类型。如果是类类型,则须在前面加上 cal 。

这样的函数模板定义,不是一个实实在在的函数,编译系统不为其产生任何执行代码。该定义只是对函数的描述,表示它每次能单独处理在类型形式参数表中说明的数据类型。 当编译系统发现有一个函数调用: FunctionName (实在参数表); 将根据实在参数表中的类型,确认是否匹配函数模板中对应的形式参数表,然后生成一个重载函数。该重载函数的定义体与函数模板的函数定义体相同,而形式参数表的类型则以实在参数表的实际类型为依据。该重载函数称为模板函数(template function)。

注意:函数模板与模板函数的区别在于,函数模板是模板的定义,定义中用到通用类型参数。模板函数是实实在在的函数定义,它由编译系统在碰见具体的函数调用时所生成,具有程序代码。

实验1:用函数模板方法编写程序,对给各种不同类型的三个数分别求最大数。 要求:编程序上机通过,写出运行结果。

实验2: 用函数模板方法编写程序,对给各种不同类型的两个数的和。

要求:编程序上机通过,写出运行结果。

实验七 I/O流与文件

一、实验目的与要求

(1) 掌握流的概念。

(2) 掌握文本文件和二进制文件的使用方法。

二、实验设备与平台

1、硬件环境:微型计算机,

2、软件环境:Visual C++ 6.0;

三、实验内容与步骤:

(1) #include void main( ) { double values[ ]={1.44,36.47,625.7,4096.24}; for(int i=0;i

cout #include void main( ) { double values[ ]={1.44,36.47,625.7,4096.24}; char*names[ ]={\"Rose\",\"John\",\"Alice\",\"Mary\"}; for(int i=0;i

(3)建立一个文本文件“textfile.txt”(内容由读者选定),然后显示该文件, (4) 建立若干个结构体类型的学生数据。要求

(1)键盘输入学生的信息,学生的属性包括学号、姓名和成绩, (2)用文件流中write函数将学生的信息写入文件D:\\student.dat (3)将student.dat中所有的数据读到内存中并显示输出在屏幕上。(10分) 编写程序上机完成如下工作: Struct student {

Int num; Char name[20]; Float score; }stu[10]; Main() { //用键盘输入

For(int i=0;i>。。。。。。。 //写入文件中

Ifstream ifile(“d:\\student.dat”,ios::binary);//建立文件,并打开 if(!ifile.fail()) //异常处理 { cerr

For(int i=0;i

Ofstream ofile(“d:\\student.dat”,ios::binary); For(int i=0;i

Cout

实验六 综合应用程序一

一、实验目的

本实验是对前面所学知识的总结,通过一个比较完整的应用程序的设计,将学过的知识连贯起来,掌握开发一个实际应用程序的步骤,同时学会使用开发工具实现界面友好的应用程序。并通过本实验,掌握如何运用面向对象技术对具体的应用系统进行分析和设计。

二、基本知识点

1、类和对象的定义、对象的初始化和使用

2、面向对象的继承机制

3、虚函数与多态性

4、运算符重载

5、文件的使用

6、算法的使用

三、基本要求

1、理解面向对象的特性

2、掌握面向对象程序设计的开发方法

3、有一定的分析问题和解决问题的能力

4、根据学过的知识点,充分利用已有的开发工具和素材,使程序编写具有更高的效率,能真正地解决实际问题。

四、实验内容:

可以在多个题目中选择一个:

1、编写一本通信录

2、模拟简单计算器

3、简单的管理系统的设计:如人事、工资、学生成绩等。(要求部分功能实现)。

五、学生实验报告要求

1、实验步骤

1)设计确定类的结构及各类之间的关系,注意成员变量和函数的性质(共有、私有或保护),哪些函数需要动态(定义为虚拟函数)。

2)创建系统项目(解决方案, Project)。

3)按上述结构定义各类,在构造函数中对成员变量进行初始化。 4)定义各类中的成员函数 5)对用到的算法进行描述

2、完成编写相关实验代码

3、对实验结果进行分析

4、对本次实验要有总结

注意:要求在系统设计阶段对数据结构(主要是类的结构及类之间的联系)进行分析研究,充分利用面向对象的特性,使类结构尽可能合理和高效。

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

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

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

面向对象程序设计教学大纲

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

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

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

面向对象程序设计教学大纲信管

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

C++面向对象程序设计教学大纲

面向对象程序设计实验教学大纲
《面向对象程序设计实验教学大纲.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档