面向对象的程序设计(C++)实验指导书
物理与信息工程学院电子信息工程系
实验1 简单C++程序开发(2学时)
一、实验目的
1.熟悉VC++6.0编程环境;
2.编制简单C++程序并运行;
3. 熟悉C++的编辑、编译、连接和运行过程。
二、实验内容及步骤
1.使用VisualC++6.0建立一个标准C++程序,编译、运行以下程序:
具体实验步骤:
1)启动Visual C++ 6.0开发环境
从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0,显示Visual C++ 6.0开发环境主窗口,如图1-1所示。
图1-1 Visual C++6.0的主窗口
在Visual C++主窗口的顶部是菜单栏,左侧为项目工作区窗口,右侧是程序编辑窗口。工作区窗口用来显示所设定的工作区的信息,程序编辑窗口用来输入和编辑源程序。
2)建立和运行只包含一个C++源程序的方法
① 建立只包含一个C++源程序的方法
一个最简单的C++程序只包含一个源程序的文件,建立这样的一个C++源程序的方法是在Microsoft Visual C++主窗口的菜单栏中选择“File →New”命令,弹出“New”对话框,单击“Files”选项卡,在其列表框中选择“C++ Source File”选项,表示要建立一个新的C++源程序文件,然后在对话框右半部分的Location文本框中输入准备编辑的源程序文件的存储路径(假设为F:\C++),表示准备编辑的源程序文件将存放在F盘C++子目录下,在其上方的File
文本框中输入准备编辑的源程序文件的名字(假设为example1.cpp),如图1-2所示。
图1-2 Files中New选项卡
单击“OK”按钮回到主窗口,在程序编辑窗口编辑源程序文件,如图1-3所示。
图1-3 编辑源文件
选择“File →Save”命令或快捷键Ctrl+S保存源程序文件。也可以选择“File →Save As”命令指定新的文件名和路径,这时输入和编辑的源程序就以example1.cpp为文件名存放在F:\C++子目录下。
② 运行只包含一个C++源程序的方法
若要运行当前的源文件或一个已有的源文件,首先需要对该源文件进行编译,只要选择“Build →Compile example1.cpp”命令进行编译即可。
在选择编译命令后,屏幕上出现一个对话框,内容是“This build command requires an active project workspace. Would you like to create a default project workspace?”(此编译命令要求有一个有效的项目工作区。你是否同意建立一个默认的项目工作区?),如图1-4所示。
图1-4 对话框提示信息
单击“是(Y)”按钮,表示同意由系统建立一个默认的项目工作区,然后开始编译。在进行编译时,编译系统检查源程序文件有无语法错误,然后在主窗口下部的调试信息窗口输出编译的信息。如果有错误,就会指出错误的位置和性质,如图1-5所示。
图1-5 编译提示信息
如果存在致命错误(error)和警告性错误(warning),则需要修改并重新编译;没有错误,则编译成功,生成一个example1.obj文件。
编译成功后,就可以对程序文件进行连接了。选择主菜单中的“Build →”命令,表示要求连接并建立一个可执行文件。
运行该文件,在屏幕就可以看到输出结果。
2.建立一个多文件的程序,求最大值。主函数放在一个文件中,Max函数放在另一个文件中。
如果一个程序中包含多个文件,则需要建立一个project file(项目文件),project file是放在Workspace(项目工作区)中,并在项目工作区的管理下工作的,因此,如果有多个项目文件存在时,还需要建立一个项目工作区。在编译时,先分别对每个文件进行编译,然后将项目文件中的文件连接成一个整体,再与系统的有关资源进行连接,生成一个可执行文件,最后执行这个文件。
在实际操作时有两种方法:一种是由用户建立项目工作区和项目文件;另一种是用户只建立项目和文件,而不建立项目工作区,由系统自动建立项目工作区。后一种方法比前一种方法操作更简单。
由用户建立项目工作区和项目文件的具体操作为:
1)分别编辑好同一个程序的多个源程序文件,并存放在指定的目录下。如一个程序包含两
个源程序文件file1.cpp和file2.cpp,如图1-6、1-7所示,并已经把它们保存在F:\C++子目录下。
图1-6 file1.cpp源文件
图1-7 file2.cpp源文件
2)建立一个项目工作区
建立一个项目工作区需要在Microsoft Visual C++6.0的主窗口中选择“File →New”命令,然后单击此对话框上方的Workspace选项卡,在对话框右部Workspace name和Location中分别输入工作区名ws1和路径名F:\C++\ws1,如图1-8所示。
图1-8 选择File→New命令Workspace选项卡
单击“OK”按钮,返回主窗口。此时在屏幕左部的工作区窗口中显示了“Workspace ‘ws1’:0 project(s)”, 说明当前的工作区名是ws1,其中没有放入项目文件,如图1-9所示。
图1-9 新建工作区ws1
3)建立项目文件
选择“File →New”命令,然后单击此对话框上方的Project选项卡,在对话框左部的列表中选择“Win32 Console Application”项,在右部Project name和Location中分别输入项目文件名Project和路径名F:\C++\ws1\project1,并按需要选中是否加入当前工作区,还是创建一个新的工作区单选按钮(假设选择加入当前已有工作区),如图1-10所示。
图1-10 选择File→New命令Project选项卡
单击“OK”按钮后,在弹出的对话框上选中“An empty project”单选按钮,单击“Finish”按钮,则系统弹出一个工程信息对话框,单击“OK”按钮,出现图1-11所示对话框。
可以看到在屏幕左部的工作区窗口中显示了“Workspace ‘ws1’:1 project(s)”, 说明当前的工作区名是ws1,其中已经放入了项目文件project1。
图1-11 新建的项目文件project1
项目文件建好后,选择将源程序文件加入到该项目文件中。选择“Project →Add To Project →Files”命令,到要加入的源程序文件file1.cpp和file2.cpp,把他们加入到项目文件project1中,其显示结果如图1-12所示。
此时可以对加入多个源程序文件的项目文件进行编译和连接了。方法是:单击主菜单中的“B
uild →”命令,系统将对整个项目文件进行编译和连接,在窗口下部会显示编译和连接的信息。如果程序有错,会显示出错信息,这时需要进行修改;如果没错,则生成可执行文件。
选择主菜单中的“Build →”命令就可以执行。
图1-12 加入file1.cpp和file2.cpp 的project1
在程序运行时,根据要求输入所需的数据,回车后即得到程序的输出结果。
实验2 类与对象(2学时)
一、实验目的
1. 掌握C++类的概念和基本组成,学会设计类,掌握类对象的声明和使用方法;
2. 熟悉各种成员函数包括构造函数、析构函数、内嵌函数的定义与使用;
3. 掌握静态数据成员的使用。
二、实验内容及步骤
1. 声明一个Circle类,有
1) 数据成员Radius(半径)
2) 指向类成员函数的指针成员函数GetArea()计算圆的面积
3) 构造函数Circle(float radius)进行初始化
4) 析构函数
在主函数中创建一个Circle类的对象进行测试(输入一个数值,作为Circle类对象的半径,调用该对象的GetArea()求以该数值为半径的圆的面积)。
2. 声明一个tree类,有
1) 数据成员ages(树龄)
2) 成员函数grow(int years)对ages加上years
3) 成员函数age()显示对象的数据成员ages的值
4) 构造函数tree(int n=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. 在主函数中定义两个变量,调用交换函数实现两个数的交换。分别用指针和引用作参数来编写交换函数。(体会引用的作用)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论