面向对象程序设计C++实验指导书.docx

上传人:b****5 文档编号:11735561 上传时间:2023-03-31 格式:DOCX 页数:14 大小:252.03KB
下载 相关 举报
面向对象程序设计C++实验指导书.docx_第1页
第1页 / 共14页
面向对象程序设计C++实验指导书.docx_第2页
第2页 / 共14页
面向对象程序设计C++实验指导书.docx_第3页
第3页 / 共14页
面向对象程序设计C++实验指导书.docx_第4页
第4页 / 共14页
面向对象程序设计C++实验指导书.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

面向对象程序设计C++实验指导书.docx

《面向对象程序设计C++实验指导书.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计C++实验指导书.docx(14页珍藏版)》请在冰豆网上搜索。

面向对象程序设计C++实验指导书.docx

面向对象程序设计C++实验指导书

面向对象的程序设计(C++)实验指导书

物理与信息工程学院电子信息工程系

实验1简单C++程序开发(2学时)

一、实验目的

1.熟悉VC++6.0编程环境;

2.编制简单C++程序并运行;

3.熟悉C++的编辑、编译、连接和运行过程。

二、实验内容及步骤

1.使用VisualC++6.0建立一个标准C++程序,编译、运行以下程序:

具体实验步骤:

1)启动VisualC++6.0开发环境

从“开始”菜单中选择“程序”|MicrosoftVisualStudio6.0|MicrosoftVisualC++6.0,显示VisualC++6.0开发环境主窗口,如图1-1所示。

 

 

图1-1VisualC++6.0的主窗口

在VisualC++主窗口的顶部是菜单栏,左侧为项目工作区窗口,右侧是程序编辑窗口。

工作区窗口用来显示所设定的工作区的信息,程序编辑窗口用来输入和编辑源程序。

2)建立和运行只包含一个C++源程序的方法

①建立只包含一个C++源程序的方法

一个最简单的C++程序只包含一个源程序的文件,建立这样的一个C++源程序的方法是在MicrosoftVisualC++主窗口的菜单栏中选择“File→New”命令,弹出“New”对话框,单击“Files”选项卡,在其列表框中选择“C++SourceFile”选项,表示要建立一个新的C++源程序文件,然后在对话框右半部分的Location文本框中输入准备编辑的源程序文件的存储路径(假设为F:

\C++),表示准备编辑的源程序文件将存放在F盘C++子目录下,在其上方的File文本框中输入准备编辑的源程序文件的名字(假设为example1.cpp),如图1-2所示。

图1-2Files中New选项卡

单击“OK”按钮回到主窗口,在程序编辑窗口编辑源程序文件,如图1-3所示。

图1-3编辑源文件

选择“File→Save”命令或快捷键Ctrl+S保存源程序文件。

也可以选择“File→SaveAs”命令指定新的文件名和路径,这时输入和编辑的源程序就以example1.cpp为文件名存放在F:

\C++子目录下。

②运行只包含一个C++源程序的方法

若要运行当前的源文件或一个已有的源文件,首先需要对该源文件进行编译,只要选择“Build→Compileexample1.cpp”命令进行编译即可。

在选择编译命令后,屏幕上出现一个对话框,内容是“Thisbuildcommandrequiresanactiveprojectworkspace.Wouldyouliketocreateadefaultprojectworkspace?

”(此编译命令要求有一个有效的项目工作区。

你是否同意建立一个默认的项目工作区?

),如图1-4所示。

图1-4对话框提示信息

单击“是(Y)”按钮,表示同意由系统建立一个默认的项目工作区,然后开始编译。

在进行编译时,编译系统检查源程序文件有无语法错误,然后在主窗口下部的调试信息窗口输出编译的信息。

如果有错误,就会指出错误的位置和性质,如图1-5所示。

图1-5编译提示信息

如果存在致命错误(error)和警告性错误(warning),则需要修改并重新编译;没有错误,则编译成功,生成一个example1.obj文件。

编译成功后,就可以对程序文件进行连接了。

选择主菜单中的“Build→Buildexample1.exe”命令,表示要求连接并建立一个可执行文件example1.exe。

运行该文件,在屏幕就可以看到输出结果。

2.建立一个多文件的程序,求最大值。

主函数放在一个文件中,Max函数放在另一个文件中。

如果一个程序中包含多个文件,则需要建立一个projectfile(项目文件),projectfile是放在Workspace(项目工作区)中,并在项目工作区的管理下工作的,因此,如果有多个项目文件存在时,还需要建立一个项目工作区。

在编译时,先分别对每个文件进行编译,然后将项目文件中的文件连接成一个整体,再与系统的有关资源进行连接,生成一个可执行文件,最后执行这个文件。

在实际操作时有两种方法:

一种是由用户建立项目工作区和项目文件;另一种是用户只建立项目和文件,而不建立项目工作区,由系统自动建立项目工作区。

后一种方法比前一种方法操作更简单。

由用户建立项目工作区和项目文件的具体操作为:

1)分别编辑好同一个程序的多个源程序文件,并存放在指定的目录下。

如一个程序包含两个源程序文件file1.cpp和file2.cpp,如图1-6、1-7所示,并已经把它们保存在F:

\C++子目录下。

图1-6file1.cpp源文件

图1-7file2.cpp源文件

2)建立一个项目工作区

建立一个项目工作区需要在MicrosoftVisualC++6.0的主窗口中选择“File→New”命令,然后单击此对话框上方的Workspace选项卡,在对话框右部Workspacename和Location中分别输入工作区名ws1和路径名F:

\C++\ws1,如图1-8所示。

图1-8选择File→New命令Workspace选项卡

单击“OK”按钮,返回主窗口。

此时在屏幕左部的工作区窗口中显示了“Workspace‘ws1’:

0project(s)”,说明当前的工作区名是ws1,其中没有放入项目文件,如图1-9所示。

图1-9新建工作区ws1

3)建立项目文件

选择“File→New”命令,然后单击此对话框上方的Project选项卡,在对话框左部的列表中选择“Win32ConsoleApplication”项,在右部Projectname和Location中分别输入项目文件名Project和路径名F:

\C++\ws1\project1,并按需要选中是否加入当前工作区,还是创建一个新的工作区单选按钮(假设选择加入当前已有工作区),如图1-10所示。

图1-10选择File→New命令Project选项卡

单击“OK”按钮后,在弹出的对话框上选中“Anemptyproject”单选按钮,单击“Finish”按钮,则系统弹出一个工程信息对话框,单击“OK”按钮,出现图1-11所示对话框。

可以看到在屏幕左部的工作区窗口中显示了“Workspace‘ws1’:

1project(s)”,说明当前的工作区名是ws1,其中已经放入了项目文件project1。

图1-11新建的项目文件project1

项目文件建好后,选择将源程序文件加入到该项目文件中。

选择“Project→AddToProject→Files”命令,找到要加入的源程序文件file1.cpp和file2.cpp,把他们加入到项目文件project1中,其显示结果如图1-12所示。

此时可以对加入多个源程序文件的项目文件进行编译和连接了。

方法是:

单击主菜单中的“Build→BuildProject1.exe”命令,系统将对整个项目文件进行编译和连接,在窗口下部会显示编译和连接的信息。

如果程序有错,会显示出错信息,这时需要进行修改;如果没错,则生成可执行文件Project1.exe。

选择主菜单中的“Build→ExecuteProjrct1.exe”命令就可以执行project1.exe。

图1-12加入file1.cpp和file2.cpp的project1

在程序运行时,根据要求输入所需的数据,回车后即得到程序的输出结果。

实验2类与对象(2学时)

一、实验目的

1.掌握C++类的概念和基本组成,学会设计类,掌握类对象的声明和使用方法;

2.熟悉各种成员函数包括构造函数、析构函数、内嵌函数的定义与使用;

3.掌握静态数据成员的使用。

二、实验内容及步骤

1.声明一个Circle类,有

1)数据成员Radius(半径)

2)成员函数GetArea()计算圆的面积

3)构造函数Circle(floatradius)进行初始化

4)析构函数

在主函数中创建一个Circle类的对象进行测试(输入一个数值,作为Circle类对象的半径,调用该对象的GetArea()求以该数值为半径的圆的面积)。

2.声明一个tree类,有

1)数据成员ages(树龄)

2)成员函数grow(intyears)对ages加上years

3)成员函数age()显示对象的数据成员ages的值

4)构造函数tree(intn=0)进行初始化

5)析构函数

在主函数中创建一个tree类的对象进行测试(创建一个树龄为18的对象,调用age()显示树龄,之后调用grow(4),生长4年,再显示树龄)。

3.改正以下程序中的错误,并分析错误原因。

提示:

该程序中point类的构造函数定义不正确,在main()中对数据成员的访问不正确。

要求修改程序后,在主函数中创建一个对象并初始化为坐标(5,5),然后输出这个点的X,Y坐标。

4.声明一个名为Rectangle的矩形类,其属性为矩形的左下角和右上角两点的坐标,并有成员函数计算矩形的周长及面积。

编程实现求左下角与右上角坐标分别为(2.1,3.2),(5.2,6.3)的矩形周长及面积。

实验3函数、指针、数组

一、实验目的

1.掌握指针的声明、使用和运算;熟悉引用的声明与特点。

2.学会数组与指针、函数与指针的使用方法。

3.掌握函数的声明、调用、实参与形参的值传递关系、返回值;

4.理解函数重载,掌握函数重载的方法;

二、实验内容及步骤

1.编写程序:

定义一个变量,一个指针,建立该变量的引用。

对变量进行初始化,并将指针指向该变量,分别通过指针和引用改变该变量的值,并输出结果进行比较分析。

2.编写程序:

任意输入10个整数放于数组中,利用指针访问数组,求出该数组中的最大数max以及最小数min。

3.编写程序:

定义c风格字符串,删掉字符串中的数字字符。

4.用重载函数实现两个整数和三个整数的排序,按照从小到大的顺序将排序结果输出。

1)声明函数sort为重载函数,并根据参数个数的不同分别进行定义;

2)在main中用cin分别输入两个整数和三个整数;

3)根据参数个数的不同,调用不同的函数,从而实现重载。

5.在主函数中定义两个变量,调用交换函数实现两个数的交换。

分别用指针和引用作参数来编写交换函数。

(体会引用的作用)

实验4类的继承(2学时)

一、实验目的

1.掌握类的继承的类别与方式;了解派生类中如何使用基类的成员、基类成员在派生类中的访问控制;

2.掌握继承中构造函数和析构函数的调用过程;

3.掌握多基继承的使用与访问方法,并理解类层次中访问规则;

4.掌握虚基类的定义及使用。

二、实验内容及步骤

1.给出一个Document类,从Document派生出Book类,增加PageCount变量。

在主函数中进行测试,创建Book类对象并进行初始化,输出书名和页数。

2.设计一个单基继承的类层次程序,利用Person类派生出Student类,增加属性xh(学号),Person类中至少有姓名、年龄等数据成员,成员函数中构造函数对其初始化,析构函数释放相应存储单元,输出函数输出其数据成员的值,其它成员函数根据需要添加,在主函数中进行测试。

3.定义一个学生类Student和教师类Teacher,学生类有姓名、学号、私有数据成员,教师类有姓名、工作证号、职称、课程、周学时数。

再定义一个助教类TA,继承学生类和教师类,该类可以使用学生类的全部数据成员,以及教师类的课程和周学时数的数据成员。

要求:

每个类提供自定义的构造函数和析构函数,并通过同名函数ShowInfo来显示全部数据成员的值。

4.设计一个虚基类Person,包含姓名和年龄私有数据成员以及相关的成员函数;由它派生出领导类Leader,包含职务和部门私有数据成员以及相关的成员函数;再由Person派生出工程师类Engineer,包含职务和专业私有数据成员以及相关的成员函数;再由Leader和Engineer类派生出主任工程师类Chairman。

并采用相关数据进行测试。

实验5多态与虚函数

一、实验目的

1.理解多态的概念

2.掌握如何用虚函数实现运行时多态

3.掌握如何利用抽象类

二、实验内容及步骤

1.设计一个图形类(Shape),由它派生出三角形类(Triangle)、正方形类(Square)、圆形类(Circle),利用虚函数计算图形面积,并在主函数中进行测试。

2.定义一个教师类,由教师类派生出讲师、副教授、教授类。

教师的工资分别由基本工资、课时费和津贴构成。

假设讲师、副教授、教授的基本工资分别为800、900、1000元,课时费分别为每小时40、45、50元,津贴分别为1300、1800、2300。

定义虚函数来计算教师的工资,并通过主函数来进行验证。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1