《面向对象程序设计》试验教案许四平由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“面向对象程序设计实验”。
《C++程序设计》实验教学教案
实验一 Visual C++ 6.0开发环境应用入门(2学时)
一、实验目的和要求
1.了解Visual C++ 6.0的特点。2.熟悉Visual C++ 6.0的开发环境。
3.学习用Visual C++ 6.0编写标准的C++控制台程序。
二、实验任务
1.使用Visual C++来建立一个非图形化的标准C++程序,编译、运行以下程序:
#include using namespace std;int main(){ cout
三、实验步骤
1.启动Visual C++6.0开发环境
※ 从“开始”菜单中选择“程序”│Microsoft Visual Studio 6.0│Microsoft Visual C++ 6.0,显示Visual C++ 6.0开发环境主窗口。
2.创建一个项目
※ 单击File菜单中的New选项,显示New(新建)对话框(如图1—1所示)。
图1-1 New对话框
※ 单击Projects标签,在Projects(项目)选项卡中,选择Win32 Console Application(Win32控制台应用程序)。在Location(位置)文本框中指定一个路径,在Project Name(项目名称)文本框中为项目输入一个名字“lab1_1”,单击OK(确定)按钮。
※ 在弹出的Win32 Console Application—Step l of 1对话框中选择An Empty project单选项,然后单击Finish(完成)按钮(如图1-2所示)。
图1—2 创建控制台应用程序第一步
※ 最后在New Project Information对话框中单击OK按钮,完成项目的建立。3.建立C++源程序文件
※ 选择菜单命令Project│Add to Project │New,弹出New对话框,如图1-3所示。※ 在New对话框的Files选项卡中选择C++ Source File,并填入文件名称“1abl_1”,单击OK按钮,完成新建C++源程序文件。
图1-3 添加新的源程序文件
4.编辑C++源程序文件内容
※ 在文件编辑窗口中输入代码(如图1—4所示)。
图1-4 在文件编辑窗口中输入代码
※ 选择菜单命令File │Save保存这个文件。5.建立并运行可执行程序
※ 选择菜单命令Build │Build labl_1.exe,建立可执行程序。
如果你正确输入了源程序,此时便成功地生成了可执行程序labl_1.exe。如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令Build │Build labl_1.exe,建立可执行程序。
※ 选择菜单命令Build │Execute labl_1.exe运行程序,观察屏幕的显示内容。6.关闭工作空间
※ 选择菜单命令File │Close Workspace关闭工作空间。实验二 函数的应用(2学时)
一、实验目的1.掌握函数的定义和调用方法。2.练习重载函数的使用。3.练习使用系统函数。
4.学习使用VC++的Debug调试功能,使用Step Into追踪到函数内部。
二、实验任务
1.编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。
2.编写重载函数Max1可分别求取2个整数,3个整数,2个双精度数,3个双精度数的最大值。
3.使用系统函数pow(x,y)计算x的值,注意包含头文件cmath。4.用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
y
三、实验步骤
1.编写函数float Convert({float TempFer},参数和返回值都为float类型,实现算法C=(F-32)* 5/9,在main()函数中实现输入、输出。程序名:lab3-1.cpp。
2.分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。程序名:1ab3-2.cpp。
3.在main()函数中提示输入两个整数x、y,使用cin语句得到x、y的值,调用pow(x,y)函数计算x的y次幂的结果,再显示出来。程序名:1ab3-4.cpp。
4.编写递归函数int fib(int n),在主程序中输入n的值,调用fib函数计算Fibonacci级数。公式为fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1。使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:lab3-5.cpp。
5.使用Debug中的Step Into追踪到函数内部,观察函数的调用过程,参考程序如下:
//1ab3_5.cpp #include using namespace std;int fib(int n); int main(){ int n,answer;
cout>n; cout
cout
int fib(int n){ cout
6.调试操作步骤如下:
(1)选择菜单命令Build │ Start Debug│Step In,或按下快捷键F11,系统进入单步执行状态,程序开始运行,并出现一个DOS窗口,此时Visual Studio中光标停在main()函数的入口处。
(2)把光标移到语句“answer=fib(n)”前,从Debug菜单或Debug工具栏中单击Run to Cursor,在程序运行的DOS窗口中按提示输入数字10,这时回到Visual Studio中,光标停在第11行,观察一下n的值(观察方法见实验2)。
(3)从Debug菜单或Debug工具栏中单击Step Into,程序进入fib函数,观察一下n的值,把光标移到语句“return(fib(n-2)+fib(n-1))”前,从Debug菜单或Debug工具栏中单击Run to Cursor,再单击Step Into,程序递归调用fib函数,再进入fib函数,观察一下n的值。
(4)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对函数调用和递归调用的理解。
(5)再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。实验三 继承与派生(2学时)
一、实验目的1.学习定义和使用类的继承关系,定义派生类。2.熟悉不同继承方式下对基类成员的访问控制。3.学习利用虚基类解决二义性问题。
二、实验任务
1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。
2.定义一个基类BaseCla,有整型成员变量Number,构造其派生类DerivedCla,观察构造函数和析构函数的执行情况。
3.定义一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNum)等属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程试试看。
4.(选做)从实验6中的people(人员)类派生出student(学生)类,添加属性:班号char claNO[7];从people类派生出teacher(教师)类,添加属性:职务char principalship[11]、部门char department[21]。从student类中派生出graduate(研究生)类,添加属性:专业char subject[21]、导师teacheradviser;从graduate类和teacher类派生出TA(助教生)类,注意虚基类的使用。重载相应的成员函数,测试这些类。
三、实验步骤
1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(int n)中直接对age赋值时,会出现类似以下的错误提示:
error C2248:’age’:cannot acce private member declared in cla ’Animal’ 把age改为公有成员变量后重新编译就可以了。程序名:lab7_1.cpp。
2.编写程序定义一个基类BaseCla,构造其派生类DerivedCla,在构造函数和析 构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7_2.cpp。
3.用debug功能跟踪程序lab7_2的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。
4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。程序名:lab7_3.cpp。
5.编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。这是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。
《面向对象程序设计》课程教案课程编号:08051230课程名称:面向对象程序设计(Object-oriented Programming) 学时:72学时,其中理论学时54,上机学时18 学分:3.5开课部门:数学与计算机......
C#面向对象程序设计感想本课程主要讲解了控件,资源管理器,文件流,线程等等,通过这门课的学习,我学到了一些应用性的知识,比如如何设计控件,对文件流进行程序的代码编写,还有就是多线......
这次课程设计让我收获到很多,上个学期我们也有过课程设计,但是我们都是从网上下一个程序,连带着报告,看一遍程序,修改修改报告,然后就直接去答辩,都是糊弄糊弄就过去了,自己根本就没......
《面向对象程序设计》教学大纲课程名称:面向对象程序设计 英文名称:Object Oriented Programming) 学分:2 总学时:36 实验(上机)学时: 8 开课专业:电子商务专业一、本课程的性质、目......
《面向对象程序设计》教学大纲课程名称:信息内容安全 课程代码:042504 总 学 时:64 学分:2课程类型:专业必修课 适用专业: 信息安全专业 制 订 人:徐雪飞 审 定 人:肖文 制订日期:20......