教学课件·面向对象程序设计(C++).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《教学课件·面向对象程序设计(C++).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 面向 对象 程序设计
- 资源描述:
-
1、 第7章 继承与派生 第8章 多态和虚函数 第9章 模板和异常处理 第10章 文件的输入输出 第11章 Visual C+编程基础目录页目录页 Contents page 第1章 绪论 第2章 数据类型和表达式 第3章 控制结构 第4章 复合数据类型 第5章 函数 第12章 MFC应用程序实例 第6章 类与对象学习目标学习目标能力目标u 了解程序设计语言的发展过程u 了解程序设计方法u 掌握C+程序的基本结构和开发工具u 了解本课程的学习目标和技能要求1.1 开篇例程:图书借阅管理系统图图1-1所示的图书借阅管理系统,是本教材的一个综合案例作品,所示的图书借阅管理系统,是本教材的一个综合案例作
2、品,具有以下功能:具有以下功能:新进图书入库新进图书入库 读者注册登记读者注册登记 办理借还书手续办理借还书手续 为读者提供借书查询为读者提供借书查询 馆内库存图书查询馆内库存图书查询图图1-1 图书借阅管理系统图书借阅管理系统1.2 程序设计语言1.2.1 计算机语言与程序计算机语言与程序人类语言是人与人之间的交流信息工具,而计算机语言是人与计人类语言是人与人之间的交流信息工具,而计算机语言是人与计算机交流信息的工具。用计算机解决问题时,人们必须首先将解决该算机交流信息的工具。用计算机解决问题时,人们必须首先将解决该问题的方法和步骤按一定序列和规则用计算机语言描述出来,形成计问题的方法和步骤
3、按一定序列和规则用计算机语言描述出来,形成计算机程序,然后计算机就可以自动执行程序,完成所需要的功能了。算机程序,然后计算机就可以自动执行程序,完成所需要的功能了。计算机语言与程序经历了三个发展阶段。计算机语言与程序经历了三个发展阶段。1机器语言与程序机器语言与程序2汇编语言与程序汇编语言与程序3高级语言与程序高级语言与程序1.2 程序设计语言1.2.2 从从C到到C+C语言具有如下特点:语言具有如下特点:(1)高效性高效性(2)灵活性灵活性(3)功能丰富功能丰富(4)表达力强表达力强(5)移植性好移植性好1.3 程序设计方法1.3.1 结构化程序设计方法结构化程序设计方法结构化程序设计的主要
4、思想是:将任务按功能分解并逐步求精。结构化程序设计的主要思想是:将任务按功能分解并逐步求精。将复杂的大型任务分解成若干个模块,每个模块进一步划分成更小的、将复杂的大型任务分解成若干个模块,每个模块进一步划分成更小的、功能完整的子模块,继续划分直到得到原子模块,每个原子模块用一功能完整的子模块,继续划分直到得到原子模块,每个原子模块用一个过程或函数完成。个过程或函数完成。1.3.2 面向对象的程序设计方法面向对象的程序设计方法面向对象的程序设计方法的出发点,就是模拟人类的认识事物解面向对象的程序设计方法的出发点,就是模拟人类的认识事物解决问题的过程来开发软件,这是学习和理解面向对象方法的关键。决
5、问题的过程来开发软件,这是学习和理解面向对象方法的关键。1.3 程序设计方法1.3.3 面向对象的特性面向对象的特性面向对象程序设计中引入了类的概念。类概念是高级语言的标志之一,面向对象程序设计中引入了类的概念。类概念是高级语言的标志之一,它能帮助程序员更好地描述由对象个体组成的世界。它能帮助程序员更好地描述由对象个体组成的世界。类有三个重要的特性类有三个重要的特性 封装性、继承性和多态性封装性、继承性和多态性(1)封装性封装性封装就是实现信息隐藏的基础。将描述对象的数据及对这些数据的处封装就是实现信息隐藏的基础。将描述对象的数据及对这些数据的处理方法(函数)有机地组成一个整体,对数据及代码的
6、访问权加以限制,理方法(函数)有机地组成一个整体,对数据及代码的访问权加以限制,这种特性称为封装。这种特性称为封装。(2)继承性继承性继承是面向对象技术能够提高软件开发效率的重要原因之一,是软件继承是面向对象技术能够提高软件开发效率的重要原因之一,是软件重用的基础。通过继承已有类的特性可产生一个新类。已有类称基类或父重用的基础。通过继承已有类的特性可产生一个新类。已有类称基类或父类,新类称为子类或派生类。类,新类称为子类或派生类。1.3 程序设计方法(3)多态性多态性多态分为静态多态和动态多态。多态性是一种提高编程效率及编多态分为静态多态和动态多态。多态性是一种提高编程效率及编程灵活性的机制。
7、程灵活性的机制。静态多态静态多态静态多态分为函数重载、运算符重载、函数模板和类模板。静态多态分为函数重载、运算符重载、函数模板和类模板。动态多态动态多态动态多态是指不同的对象在接收到相同的消息后,以不同的行为动态多态是指不同的对象在接收到相同的消息后,以不同的行为去应对。所谓消息是指对象接收到的需要执行某个去应对。所谓消息是指对象接收到的需要执行某个“操作操作”的命令,的命令,操作是由函数完成的。动态多态的实现机制是,在基类中定义一个完操作是由函数完成的。动态多态的实现机制是,在基类中定义一个完成这个操作的虚函数,在不同的派生类中重新定义完成这个成这个操作的虚函数,在不同的派生类中重新定义完成
8、这个“操作操作”的与基类虚函数同名的函数,不同派生类中的这些函数完成不同的工的与基类虚函数同名的函数,不同派生类中的这些函数完成不同的工作,那么不同派生类对象接收到同样的作,那么不同派生类对象接收到同样的“消息消息”时,就可以表现为不时,就可以表现为不同的行为。同的行为。1.4 C+程序的基本结构1.4.1 C+程序结构程序结构1声明区声明区声明区出现在程序文件的所有函数的外部,它所包含的内容如下,声明区出现在程序文件的所有函数的外部,它所包含的内容如下,但并不是每一个程序都需要,要视问题的不同而变化。一般有以下几但并不是每一个程序都需要,要视问题的不同而变化。一般有以下几种情况:种情况:(1
9、)预处理命令:例如预处理命令:例如1-1中的第中的第2行语句行语句#include“iostream.h”(2)函数声明:函数声明:例如例如1-1中的第中的第3行语句行语句int fnAdd(int x,int y);(3)全局变量声明全局变量声明(4)类或结构定义类或结构定义1.4 C+程序的基本结构1.4.1 C+程序结构程序结构2主函数区主函数区主函数是以主函数是以main()开始,是整个程序运行的入口,主函数可以带开始,是整个程序运行的入口,主函数可以带参数也可以不带参数,在本例中主函数没有带参数。该函数中可能包参数也可以不带参数,在本例中主函数没有带参数。该函数中可能包含以下几个方面
10、的内容:含以下几个方面的内容:(1)局部变量的声明:局部变量的声明:int a,b;(2)函数调用:函数调用:int c=fnAdd(a,b);(3)执行语句:执行语句:a=5;1.4 C+程序的基本结构1.4.1 C+程序结构程序结构3函数定义区函数定义区程序中除了程序中除了main()函数外,还可以包含其它函数,每个函数都有函数外,还可以包含其它函数,每个函数都有一个不同的函数名称,以供主函数或其它函数调用。每个函数都是由一个不同的函数名称,以供主函数或其它函数调用。每个函数都是由函数声明和函数体组成的函数声明和函数体组成的,其中函数声明放在声明区。其中函数声明放在声明区。(1)函数的声明
11、部分函数的声明部分1.4 C+程序的基本结构1.4.1 C+程序结构程序结构3函数定义区函数定义区(2)函数体部分函数体部分函数体是用一对花括号函数体是用一对花括号括起来的用于完成某种功能的语句的集合。括起来的用于完成某种功能的语句的集合。函数体一般包括变量定义和执行语句。在函数体一般包括变量定义和执行语句。在C+语言中,一个变量必须在使语言中,一个变量必须在使用之前进行定义,但变量的定义可出现在第一次使用之前的任意位置。用之前进行定义,但变量的定义可出现在第一次使用之前的任意位置。1.4 C+程序的基本结构1.4.2 C+程序中的注释程序中的注释注释是提高可读性的重要手段,注释是提高可读性的
12、重要手段,C+中有两种注释方法中有两种注释方法:(1)C中注释方法,以中注释方法,以“/*”开始,以开始,以“*/”结束,在这之间的所有数结束,在这之间的所有数据编译程序认为是注释信息,编译时跳过它们据编译程序认为是注释信息,编译时跳过它们,一般用于多行注释。一般用于多行注释。(2)以符号以符号“/”表示注释开始,直到本行结束。这一种注释方法是表示注释开始,直到本行结束。这一种注释方法是C+特有的,一般用于一行中较短信息的注释。特有的,一般用于一行中较短信息的注释。1.4 C+程序的基本结构1.4.3 C+的输入的输入/输出流输出流程序是由语句组成的,输入输出语句是程序是由语句组成的,输入输出
13、语句是C+最基本的语句。最基本的语句。C+中输入输出方法可以分为两类:一类是中输入输出方法可以分为两类:一类是C+保留的来自保留的来自C语言的语言的输入输出功能,通过输入输出函数完成,函数定义包含在输入输出功能,通过输入输出函数完成,函数定义包含在stdio.h文件中;文件中;另一类是另一类是C+通过输入输出流对象进行输入输出,通过输入输出流对象进行输入输出,C+的输入输出功能包的输入输出功能包含在含在iostream.h类库中。其中类库中。其中iostream.h包含了大部分功能。具体用法将在包含了大部分功能。具体用法将在第第10章详细介绍,为了编程方便,简单加以说明。章详细介绍,为了编程方
14、便,简单加以说明。所以,在所以,在C+程序设计中,除了使用标准程序设计中,除了使用标准C语言函数库语言函数库stdio.h提供的提供的输入输出函数外,还可以使用自己定义的输入输出系统。输入输出函数外,还可以使用自己定义的输入输出系统。C+又增加了三又增加了三个关键字个关键字 cin、cout、cerr 和两个运算符(称为插入和两个运算符(称为插入insertion operator和析和析取运算符取运算符extraction operator)。1.4 C+程序的基本结构 1.cout输出流输出流cout 输出流,与屏幕显示相联系,故又称标准输出;输出流,与屏幕显示相联系,故又称标准输出;输出
15、运算符(或称插入运算符输出运算符(或称插入运算符 insertion operator)。)。在程序执行期间,使用在程序执行期间,使用cout将变量中的数据或字符串显示在屏幕上,将变量中的数据或字符串显示在屏幕上,其一般格式为:其一般格式为:cout 例如,语句:例如,语句:cout 我开始学习我开始学习 C+语言了!语言了!输入运算符(或称析取运算符输入运算符(或称析取运算符 extraction operator)。)。在程序执行期间,使用在程序执行期间,使用cin来给变量输入数据,其一般格式为:来给变量输入数据,其一般格式为:cin 1.4 C+程序的基本结构3.格式化输入格式化输入/输
16、出输出对于整型变量,从键盘上输入的数据默认为十进制。除此以外,对于整型变量,从键盘上输入的数据默认为十进制。除此以外,还可以按照八进制或十六进制来输入还可以按照八进制或十六进制来输入/输出数据。输出数据。oct 八进制输入输出八进制输入输出hex 十六进制输入输出十六进制输入输出dec 十进制输入输出十进制输入输出1.5 C+程序的开发过程图图1-4 1-4 程序的编辑、编译、连接程序的编辑、编译、连接和执行过程和执行过程1.5 C+程序的开发过程具体操作步骤如下:具体操作步骤如下:(1)编辑源程序,并以扩展名编辑源程序,并以扩展名.cpp的文件存盘。的文件存盘。(2)对源程序进行编译,将源程
17、序转换为扩展名为对源程序进行编译,将源程序转换为扩展名为.obj的目标程序,但的目标程序,但目标程序仍不能运行。若源程序有错,必须予以修改,然后重新编译。目标程序仍不能运行。若源程序有错,必须予以修改,然后重新编译。(3)对编译通过的源程序连接,即加入库函数和其它二进制代码生成可对编译通过的源程序连接,即加入库函数和其它二进制代码生成可执行程序。连接过程中,若出现未定义的函数等错误,必须修改源程序,并执行程序。连接过程中,若出现未定义的函数等错误,必须修改源程序,并重新编译和连接。重新编译和连接。(4)执行生成的可执行代码,若不能得到正确的结果,必须修改源程序,执行生成的可执行代码,若不能得到
18、正确的结果,必须修改源程序,重新编译和连接。若能得到正确结果,则整个编辑、编译、连接和运行过程重新编译和连接。若能得到正确结果,则整个编辑、编译、连接和运行过程顺利结束。顺利结束。1.6 C+程序的上机步骤1.6.1 Visual C+6.0开发环境开发环境Visual C+6.0,简称,简称VC+6.0,是微软公司推出的一款,是微软公司推出的一款C+编译器,编译器,是一个强大的可视化软件开发工具,它将程序代码的编辑、编译、连接和是一个强大的可视化软件开发工具,它将程序代码的编辑、编译、连接和调试等功能集于一体。调试等功能集于一体。Visual C+6.0的详细安装过程请参考其它有关书籍,的详
19、细安装过程请参考其它有关书籍,下面将介绍下面将介绍Visual C+6.0集成开发环境的使用。集成开发环境的使用。1.6 C+程序的上机步骤1.6.2 第一个控制台应用程序第一个控制台应用程序为了便于程序的分类和管理,首先应在硬盘上创建一个新目录,比如为了便于程序的分类和管理,首先应在硬盘上创建一个新目录,比如D:MYVC,以便存放程序所生存的文件。,以便存放程序所生存的文件。1.启动启动Visual C+6.0选 择选 择“开 始开 始 程 序程 序Microsoft Visual Studio 6.0Microsoft Visual C+6.0”菜单命令,或双击桌面上的菜单命令,或双击桌面
20、上的Visual C+6.0快捷图标,进快捷图标,进入入Microsoft Visual C+6.0的的集成环境,如图集成环境,如图1-5所示。所示。图图1-5 Visual C+6.0界面界面1.6 C+程序的上机步骤2.创建工程创建工程创建创建MyHello工程的步骤如下:工程的步骤如下:(1)启动启动Visual C+6.0后。选择后。选择“文件文件 新建新建”菜单命令。打开菜单命令。打开“新新建建”对话框。如图对话框。如图1-6所示。所示。(2)在在“新建新建”对话框中选择对话框中选择“工程工程”选项卡选项卡。然后选择。然后选择“Win32 Console Application”类型
21、,类型,Visual C+6.0即将创建一个控制台应用程序。即将创建一个控制台应用程序。在在“工程名称工程名称”文本编辑框中输入文本编辑框中输入“MyHello”,单击位于,单击位于“位置位置”框右边框右边的小按钮,再从下拉的对话框中选择的小按钮,再从下拉的对话框中选择“D:MYVC”目录,使新创建的工程文目录,使新创建的工程文件放置在件放置在“D:MYVC”目录之下。目录之下。以上几个步骤分别指定了以上几个步骤分别指定了MyHello.exe程序的工程类型、工程名字和工程序的工程类型、工程名字和工程位置,此时程位置,此时“新建新建”对话框如图对话框如图1-6所示。所示。1.6 C+程序的上机
22、步骤2.创建工程创建工程图图1-6“新建新建”对话框中的对话框中的“工程工程”选项卡选项卡1.6 C+程序的上机步骤(3)单击单击“确认确认”按钮。此时按钮。此时Visual C+6.0将显示如图将显示如图1-7所示的所示的“Win32 Console Application-步骤步骤1共共1步步”对话框。在此例中,选择默认设对话框。在此例中,选择默认设置置“一个空的工程一个空的工程”,即创建一个空的工程,它不包含任何源文件。,即创建一个空的工程,它不包含任何源文件。(4)单击)单击“完成完成”按钮,系统将显按钮,系统将显示示“新建工程信息新建工程信息”对话框,继续单击对话框,继续单击“确认确
23、认”按钮,按钮,Visual C+6.0就会创建就会创建MyHello工程。工程。图图1-7“Win32 Console Application-步骤步骤1共共1步步”对话框对话框1.6 C+程序的上机步骤3.创建源程序文件创建源程序文件在创建好的工程中,添加源程在创建好的工程中,添加源程序文件。操作步骤如下:序文件。操作步骤如下:(1)选择选择“文件文件新建新建”菜单菜单命令,打开命令,打开“新建新建”对话框,选择对话框,选择“文件文件”选项卡,如图选项卡,如图1-8所示。选所示。选中对话框右则的中对话框右则的“添加到工程添加到工程”复复选框,即把当前要创建的文件加入选框,即把当前要创建的文
24、件加入到工程到工程MyHello中。在中。在“文件文件”列列表中选中表中选中“C+Source File”,在,在“文件名文件名”编辑框中输入文件名编辑框中输入文件名“HelloWorld”,而文件扩展名,而文件扩展名.cpp将自动被加上。将自动被加上。图图1-8“新建新建”对话框中的对话框中的“文件文件”选项卡选项卡1.6 C+程序的上机步骤(2)单击单击“确认确认”按钮,按钮,源文件源文件HelloWorld.cpp将被将被添加到工程中,同时代码编添加到工程中,同时代码编辑 窗 口 被 打 开。选 择辑 窗 口 被 打 开。选 择Workspace窗口中的窗口中的FileView选项卡,可
25、以看到在选项卡,可以看到在Source Files文件夹中多了一个文件,文件夹中多了一个文件,即刚刚添加的即刚刚添加的HelloWorld.cpp,如图,如图1-9所所示。在此文件中输入例示。在此文件中输入例1-1中中的代码。的代码。图图1-9 Visual C+窗口窗口1.6 C+程序的上机步骤4.编译、连接编译、连接选择选择“组建组建 组建组建 MyHello.exe”,或,或“组建组建 全部重建全部重建”菜单命菜单命令,对工程进行编译和连接。如果正确,则在输出窗口的最后一行将显示如令,对工程进行编译和连接。如果正确,则在输出窗口的最后一行将显示如下信息:下信息:MyHello.exe 0
展开阅读全文