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

合集下载

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

面向对象程序设计实验指导书.
(3)定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来
[实验结果]:
(1)#include<iostream>
using namespace std;
int main()
{
int i=1,sum=0;
do
{
sum+=i;
i++;
}
cout<<"sum="<<sum<<endl;
return 0;
}
(3)
#include<iostream>
using namespace std;
const float PI=3.1416;
int main()
{
int iType;
float r,a,b,S;
cout<<"图形的类型(1-圆2-长方形3-正方形):";
C)选择项目所在路径及输入项目的名称
D)依次按‘下一步’直至完成为止。
(3)至此,C++Builder已经建立好工程相关的文件(请不要随意更改其自动生成的文件),在生成的main函数中写入必要的内容即可。
(4)对于VC,请继续下面的步骤:
A)建立C++源程序文件
a)选选菜单命令Project|Add to Project|New,弹出New对话框
cout<<”Welcome to C++!\n”;
}
[实验原理和步骤]:
(1)启动Visual C++或C++Builder开发环境

《面向对象程序设计》实验指导书(实.doc

《面向对象程序设计》实验指导书(实.doc
{ int i;float sum=0;
m=n;
①;
aver=sum/m;
}
void score::set_score(float x[],int n) //提供成绩
{ int i;float sum=0;
m=n;
②;
aver=sum/m;
}
void score::print_score(void) //输出成绩、平均成绩
score(void); //无参构造函数
score(float x[],int n); //构造函数重载——初始化成绩
void set_score(float x[],int n); //提供成绩
float get_score(int i) //得到第i科成绩
{return sc[i];}
float get_aver(void) //得到平均成绩
③在实际应用中,在定义类时通常应定义一至多个构造函数(重载),以对各数据成员进行初始化;如果不给出构造函数,系统将自定义一个构造函数。
④构造函数可以可以带参数,也可不带任何参数(称无参构选函数),还可以使用缺省参数。
⑤不能象普通成员函数一样单独调用。
2.析构函数
⑴析构函数的定义
格式:
~类名(void)
③默认拷贝构造函数是一种浅拷贝,当在类中定义有指针数据成员,用new分配内存空间时,通常应显示定义相应的拷贝构造函数。
㈡对象数组与对象指针
1.对象数组
⑴可以定义对象数组处理多个对象。
⑵可以用缺省参数构造函数为对象数组赋初值。
2.对象指针
可以使用指针来使用对象或对象数组。方法:
⑴定义对象指针;
⑵将指针指向某一对象(或对象数组);

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

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

面向对象程序设计实验指导书目录前言: Visual C++实验环境介绍实验一、VC集成环境及C++程序的输入、调试和运行实验二、类和对象程序设计实验三、继承与派生程序设计实验四、类模板程序设计实验五、多态性程序设计实验六、文档/视图结构程序设计1实验七、文档/视图结构程序设计2实验八、图形设备接口和资源程序设计实验九、对话框程序设计实验十、控件程序设计实验十一、文档读写与打印程序设计实验十二、多文档界面程序程序设计前言:Visual C++实验环境介绍一、Visual C++简介Visual C++是Microsoft公司的Visual Studio开发工具箱中的一个C++程序开发包。

VisualStudio提供了一整套开发Internet和Windows应用程序的工具,包括VisualC++, Visual Basic, Visual Foxpro, Visual InterDev, Visual J++以及其他辅助工具,如代码管理工具Visual SourceSafe和联机帮助系统MSDN。

Visual C++包中除包括C++编译器外,还包括所有的库、例子和为创建Windows应用程序所需要的文档。

从最早期的1.0版本,发展到最新的6.0版本,Visual C++已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。

最新的6.0版本在编译器、MFC类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。

Visual C++一般分为三个版本:学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。

实验中可以使用这三个版本的任意一种。

Visual C++集成开发环境(IDE)集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。

Visual C++软件包中的Developer Studio 就是一个集成开发环境,它集成了各种开发工具和VC编译器。

《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。

(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。

实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。

要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。

(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。

要求:使用递归函数。

主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。

链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。

程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。

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

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

实验1Visual C++6.0开发环境应用入门(3学时)1.实验目的1.了解Visual C++6.0的特点。

1.熟悉Visual C++6.0的开发环境。

2.学习用Visual C++6.0编写标准的C++控制台程序。

2.实验任务使用Visual C++来建立一个非图形化的标准C++程序,编译、运行以下程序:#include<iostream.h>C++简单程序设计(3学时)void main(void){cout<<”Hello! \n”;cout<<”Welcome to c++! \n”;}3.实验步骤1.启动Visual C++6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0”,显示Visual C++6.0开发环境窗口。

2.创建一个项目(1)单击File 菜单中的New选项,显示New(新建)对话框(如图1-1所示)。

(2)单击Project (项目)标签,在Projects 选项卡中,选择Win32 Console Application(Win 32控制台应用程序)。

在Location(位置)文本框中指定一个路径,在Preject Name (项目名称)文本框中为项目输入一个名字lab1_1,单击OK按钮。

(3)在弹出的Win32 Console Application-Step 1 of 1对话框中选择An Empty Project单选项,然后单击Finish(完成)按钮(如图1-2所示)。

(4)最后在New Project Information 对话框中单击OK按钮,完成项目建立。

图1-1New对话框图1-2创建控制台应用程序第一步3.建立C++源程序文件(1)选择菜单命令Project |Add to Project | New, 弹出New对话框。

《面向对象程序设计》实验指导书(新)

《面向对象程序设计》实验指导书(新)

《面向对象程序设计》实验指导书(新)《面向对象程序设计》实验指导书一、课程教学与实验教学计划学时比:48/16二、适用专业:信息管理与信息系统三、实验目的基本要求能够充分理解面向对象程序设计的思想和应用方法。

能够使用面向对象编程语言进行相应的程序设计和开发。

理解面向对象的基本思想、概念和特性以及面向对象的分析、建模、设计技术与方法。

掌握C++语言基本构成、类与对象、消息传递与函数、函数与运算符重载、继承性、多态性与虚拟函数、数据封装和隐藏及Windows 程序设计基础。

通过实验动手实践,使学生能够掌握面向对象程序设计的特征和基本思想,以及相应的具体实现和Windows程序设计基础知识。

四、实验内容实验一:循环控制(一)实验目的要求:熟悉VC++集成开发环境,学习使用控制台应用程序;创建工程,建立可执行文件并执行,观察结果。

掌握变量的声明和定义方法,掌握循环语句和条件语句的定义、作用和使用方法。

(二)实验设备:1.服务器;2.交换机;3.计算机。

(三)实验内容:1.编程求1!+2!+3!+4!+…+12!。

2.编程求所有的3位数素数,且该数是对称的。

所谓“对称”是指一个数,倒过来还是该数。

例如,375不是对称数,因为倒过来变成了573。

实验二:递归函数(一)实验目的要求:掌握函数的概念和使用方法,掌握递归函数的概念和使用方法。

(二)实验设备:1.服务器;2.交换机;3.计算机。

(三)实验内容:1.用递归函数来求1!+2!+3!+…+12!。

2.用递归的方法建立一个函数int fibonacci(int n),求Fibonacci数列中第n个数的值。

实验三:用气泡法排序(一)实验目的要求:掌握文件读写的方法,掌握递归函数的概念和使用方法。

(二)实验设备:1.服务器;2.交换机;3.计算机。

(三)实验内容:建立一个文件,文件中包含一系列数,用这些数构成一个数组,并按照数值,为这个数组从小到大排序,把排序结果输出到另一个文件中。

面向对象程序设计(C )实验指导_精简版_befine

面向对象程序设计(C  )实验指导_精简版_befine

面向对象程序设计(C++)实验指导一、实验环境本实验基于当前主流的面向对象开发平台,编码规范遵循主流的参考规范。

二、编程语言和开发工具C++语言,开发工具不限,建议使用Visual C++ 6.0版本三、编码规范(编码规范的要求)要求遵循良好的的程序设计习惯来设计实验和编写代码。

(注:如果你将程序的很多功能全部放在一个长长的main()主函数中实现,这样的程序设计和编码风格会被扣分,请将不同的功能模块分别用函数来实现。

)1.在实验过程中应注意培养规范的编码风格:2.标识符的命名应要求达到顾名思义的程度,一看就知道用来做什么;3.提供足够的注释,注释文字清晰明了;4.程序排版的要求:a)不同功能模块用空行分隔,使功能块一目了然;b)基本上一条语句一行;同一层次的语句统一缩进对齐。

四、实验见后文……五、注意事项所有实验要求独立完成,同学之间可以讨论,但严禁抄袭,若发现雷同,抄袭者和被抄袭者此次实验成绩均记零分。

实验一 C++基础 (2课时)实验目的和要求:1. 掌握C++程序的基本格式与规范,学会编写简单的C++程序。

2. 理解C++程序结构的特点。

3. 熟悉C++程序的基本输入输出操作。

4. 掌握内联函数的使用方法。

5. 掌握函数重载的定义和使用方法。

6. 掌握C++内存的动态分配与释放方法。

7. 理解引用的概念,掌握引用的使用方法。

预习内容:cin/cout 的使用;new 和delete 的使用;函数重载;const 常量。

实验内容:1、用内联函数编写Fibonacci 级数,使用if 语句判断函数的出口,在程序中用cout 语句输出提示信息,Fibonacci 级数的公式为:⎩⎨⎧>-+-==2)2()1(2,11)(n n fib n fib n n fib 内联函数inline int fib(int n)。

2、程序Ex_Swap 实现数据交换。

分别用指针和引用作为函数mySwap 的形参,并通过重载int 、double 型变量值的交换。

《面向对象程序设计》实训指导书

《面向对象程序设计》实训指导书

《面向对象程序设计》实训一、实训目的:1.使学生进一步巩固《面向对象程序设计》课程中所学到的知识,熟练掌握并综合运用C++语言进行程序设计,增强实际编程能力,从而达到用C++语言进行中等难度程序开发的目标。

2.使学生掌握面向对象设计开发的基本思想和方法。

加强对VC++编程环境的使用能力,掌握VC++编程环境中的调试功能。

3.培养学生在已有的知识基础上进一步获取新知识的能力,提高分析问题和解决问题的能力。

4.培养和提高学生的逻辑思维、抽象思维和统筹规划能力;培养学生独立完成程序设计开发的工作能力。

二、实训环境:1.操作系统平台:Windows 2000 / Windows XP2.程序设计平台:VC++ 6.03.其它应用软件:Word、Visio等三、实训基本要求:1.熟练掌握C++语言的各种语法成分;深入理解面向对象语言的各种概念,能够准确应用C++语言提供的编程机制,如:类的定义、类的继承、抽象类的定义、操作符的重载等。

熟练掌握多文件结构。

2.具备常用算法的设计能力,能运用面向对象方法,解决实际问题。

3.能熟练使用VC++编程环境,掌握VC++中的调试功能。

4.熟练掌握程序设计中多文件组织结构的编写方法。

5.实训选题要求实训题目可以是学生自选题目或教师指定题目。

学生自选题目必须写出开题报告,阐明题目内容和功能要求,经教师审核通过后方可作为正式选题。

6.课题规模要求(1)题目涉及的自定义基础类应不少于2个、必须有派生类。

(2)题目涉及的主要功能模块应有3-5个,或更多。

(3)数据的存储可直接存到内存或使用文件,也可以使用数据库。

(4)用户界面可以是命令行方式下(要求做成简易菜单形式),也可以采用图形界面,界面个数应不少于3个。

(5)每个实训题目的选择每班最多不超过5组同学。

7.分工与合作要求每个题目可由一或两个学生(教师规定)共同完成,每组组员之间必须要有明确的程序设计分工,并独立完成各自的设计任务,最后组内联调、共同整理项目文档。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++面向对象程序设计实验指导书(v1.0)刘恒洋谭智编重庆工学院计算机学院2007年9月目录绪论 (1)0.1 写本书的目的 (1)0.2 本书的结构安排 (1)0.3 如何使用本书 (2)实验一C++基础 (3)1.1 实验目的 (3)1.2 实验内容 (3)1.2.1 程序阅读 (3)1.2.2 程序设计 (6)1.3 思考题 (8)实验二类和对象—类的构建 (9)2.1 实验目的 (9)2.2 实验内容 (9)2.2.1程序阅读 (9)2.2.2 程序设计 (12)2.3思考题 (13)实验三类和对象—构造函数与析构函数 (14)3.1 实验目的 (14)3.2 实验内容 (14)3.2.1程序阅读 (14)3.2.2 程序设计 (15)3.3思考题 (17)实验四类和对象—对象传递与静态成员 (19)4.1 实验目的 (19)4.2 实验内容 (19)4.2.1程序阅读 (19)4.2.2 程序设计 (22)实验五派生与继承—单重派生 (23)5.1 实验目的 (23)5.2 实验内容 (23)5.2.1程序阅读 (23)5.2.2 程序设计 (26)实验六派生与继承—多重派生 (27)6.1 实验目的 (27)6.2 实验内容 (27)6.2.1程序阅读 (27)6.2.2 程序设计 (30)6.3思考题 (30)实验七多态性—函数与运算符重载 (31)7.1 实验目的 (31)7.2 实验内容 (31)7.2.1程序阅读 (31)7.3思考题 (34)实验八多态性—类型转换与虚函数 (35)8.1 实验目的 (35)8.2 实验内容 (35)8.2.1程序阅读 (35)8.2.2 程序设计 (37)8.3思考题 (37)实验九模板类的构造 (38)9.1 实验目的 (38)9.2 实验内容 (38)9.2.1程序阅读 (38)9.2.2 程序设计 (40)9.3思考题 (40)实验十C++的I/O流类库 (41)10.1 实验目的 (41)10.2 实验内容 (41)10.2.1程序阅读 (41)10.2.2 程序设计 (42)10.3思考题 (42)实验十一C++程序、Windows程序和MFC程序 (44)11.1 实验目的 (44)11.2 实验内容 (44)11.2.1 实验描述 (44)11.2.2 实验步骤 (45)11.2.3 实验结果分析 (51)11.3思考题 (53)实验十二简单单文档MFC程序设计 (54)12.1 实验目的 (54)12.2 实验内容 (54)12.2.1 实验描述 (54)12.2.2 实验步骤 (55)12.2.3 实验结果 (60)12.3思考题 (61)实验十三简单对话框程序设计 (62)13.1 实验目的 (62)13.2 实验内容 (62)13.2.1 实验描述 (62)13.2.2 实验步骤 (62)13.2.3 实验结果 (69)13.3思考题 (69)实验十四简单数据库程序设计 (71)14.1 实验目的 (71)14.2 实验内容 (71)14.2.2 实验步骤 (72)14.2.3 实验结果 (79)14.3思考题 (80)综合练习 (81)总结 (82)参考书目 (83)绪论0.1 写本书的目的面向对象程序设计语言是现今最流行的编程语言之一,C++语言是作为最早最流行的面向对象编程语言之一而发展起来的。

学好C++语言不仅可以从面向过程的程序设计思想过渡到面向对象的程序设计思想,而且可以为以后学习其它的面向对象语言打下坚实的基础,使得学习其它的面向对象编程语言变得轻松、容易。

实验作为学习C++语言不可缺少的一个环节不仅可以加深学生对C++面向对象思想的理解,同时可以提高学生的动手编程能力,培养学生良好的编码习惯。

目前关于C++语言的理论教材比较多,但是适合学生练习的实验指导书却比较少,这严重影响了学生对C++这门课程的学习。

大多数情况下,学生学习C++语言之前都刚刚学习过C语言程序设计这门课程,从编程环境到编程语言同时转换过来需要一定的时间和合理的指引,同时在学习C++理论知识的过程中,学生很少也很难把C++程序设计和现在社会上比较流行的基于VC6.0的MFC程序设计联系起来,所以很难让学生在学习C++语言的同时,提升学生基于VC6.0的MFC程序设计的能力。

编写本书的目的就是从以上几点来考虑的,首先要把学生从以前的编程环境中脱离出来,然后循序渐进地介绍新的编程环境的新知识点,同时把C++的语法结构融入到基于VC6.0的MFC程序设计中去,从而实现学生轻松掌握C++这门程序设计语言和习惯编程环境以及理解C++语法和MFC之间的关系的目的,从而提高学生的程序设计能力和学生程序设计的成就感。

0.2 本书的结构安排实验课程的安排离不开理论课程的学习,本书的编排以知识点为核心,理论教材蓝本为《C++面向对象程序设计教程》(第2版)陈维兴林小茶编著,清华大学出版社出版。

通过为不同的知识点设计相应的实验程序,来达到学生练习和理解C++语言面向对象的思想的目的,同时本书还设计了一些程序设计课后练习题,设计本部分有三个目的:一个是有些课堂练习中没有办法练习到的知识点将在这部分体现,指导老师可以根据需要来增删课堂的讲解内容;另一个是为一部分有能力有兴趣深入学习C++程序设计的同学提供一些练习题,从而提升这部分学生的程序设计能力;第三就是避免有些学生在做实验的过程中盲目按照指导书中的步骤一步一步地不加思考地写程序,学生要回答这些问题,就必须看懂这些程序中隐含的知识点,从而达到理论知识和实践知识更好地结合。

对于课堂练习,本书共安排了十个实验,共32个学时,实验安排如下:实验一C++基础(2学时)实验二类和对象—类的构建(2学时)实验三类和对象—构造函数与析构函数(2学时)实验四类和对象—对象传递与静态成员(2学时)实验五派生与继承—单重派生(2学时)实验六派生与继承—多重派生(2学时)实验七多态性—函数与运算符重载(2学时)实验八多态性—类型转换与虚函数(2学时)实验九模板类的构造(2学时)实验十C++的I/O流类库(2学时)实验十一C++程序、Windows程序和MFC程序(3学时)实验十二简单单文档MFC程序设计(3学时)实验十三简单对话框程序设计(3学时)实验十四简单数据库程序设计(3学时)另外本书还安排了第三部分—综合练习,作为学生提高部分,学生通过第三部分的练习不仅可以巩固前面学到的基本知识,还可以扩充相关方面的程序设计知识,更为重要的是可以让学生自主地设计一个完整的系统,从而达到提高学生综合程序设计能力的目的。

0.3 如何使用本书面向对象程序设计语言出现的目的就是为了设计大型的软件系统,但是教学过程中很难让学生在课堂上实现一个大型的(甚至是成型)的系统,所以作为教师应该引导学生在实现一个简单的功能性的程序的同时让学生思考,思考如何把这个地方的技术实现到一个复杂的应用系统中去;另外教师要充分利用本书中第二部分的练习,引导学生去思考如何利用C++的相关技术从头到尾设计一个具有实用价值的应用程序。

作为学生如果只是简单地按照本书中提供的步骤一步一步完成某一个程序,而不去思考为什么要这样做的话,那么学生能学到的知识也仅仅是C++的语法而已,并不能真正理解C++面向对象的思想,最终不能设计出好的程序来。

所以学生不仅要全部实现本书中的课堂练习,得出正确的结果,而且在完成了程序后还要思考本程序为什么要这样设计,如果换成其它的程序设计语言会怎么实现,只有这样才能够真正理解C++的精髓,从而掌握C++。

另外学生在学习最后四个实验的时候一定不要忘记前面C++语法知识,能否合理地将C++的三大特性运用到MFC的程序设计中是提高程序运行效率,存储效率和程序封装性一个最有效的手段。

学生在设计本实验指导书第三部分程序的时候,需要自己查阅相关方面的技术资料才能完成相关功能,因为安排这部分的目的就是为了提升学生自主学习的能力和综合程序设计能力,因此这部分的内容并没有安排相关理论知识的讲解。

另外教师也可以把这部分的内容用于学生课程设计的程序设计题目。

注:本书中所有的程序都采用VC++6.0(英文版)编程环境,并且全部在该环境下编译运行通过!实验一C++基础1.1 实验目的1.进一步了解和熟悉VC++6.0开发环境,学会在VC++6.0环境下调试程序;2.熟悉C++中简单的标准输入输出函数的实用;3.理解const修饰符的作用,并学会应用const修饰符;4.理解内置(内联)函数的优缺点并学会使用内置函数;5.理解和使用函数重载以及带默认参数的函数;6.使用new和delete进行动态内存管理;7.理解和使用引用。

1.2 实验内容1.2.1 程序阅读1.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。

#include <iostream.h>int max_def(int x, int y){return (x>y?x:y);}int max_def(int x, int y, int z){int temp = 0;return (temp=(x>y?x:y))>z?temp:z;}double max_def(double x, double y){return (x>y?x:y);}int main(){int x1 = 0;int x2 = 0;double d1 = 0.0;double d2 = 0.0;x1 = max_def(5,6);x2 = max_def(2,3,4);d1 = max_def(2.1,5.6);d2 = max_def(12.3,3.4,7.8);-----------------------------------------------------①cout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;cout<<"d1="<<d1<<endl;cout<<"d2="<<d2<<endl;--------------------------------------------------------②return 1;}问题一:上述程序的输出结果是什么?问题二:哪些情况可以参与函数的重载?问题三:①处调用的是哪个函数?问题四:②处的输出结果为什么是d2=12,而不是d2=12.3?2.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。

相关文档
最新文档