C++程序设计语言方案分析课件_第1页
C++程序设计语言方案分析课件_第2页
C++程序设计语言方案分析课件_第3页
C++程序设计语言方案分析课件_第4页
C++程序设计语言方案分析课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子科技大学计算机学院C++程序设计语言黄迪明

电子科技大学计算机学院C++程序设计语言黄迪明11第一章C++入门1第一章C++入门2一、面向对象的方法是在计算机语言发展过程中产生的。

早期:机器语言、汇编语言

50年代中期:FORTRAN语言引进了许多现代仍然使用的程序设计概念。

50年代后期:ALGOL60提出块结构的思想。

60年代:SIMULA67首先提出对象和类的概念,并支持类的继承,是面向对象语言的鼻祖

70年代:ADA不能全面地支持继承,称为基于对象的语言。§1.1面向对象的由来和发展一、面向对象的方法是在计算机语言发展过程中产生的。§1.13后来出现的Smalltalk是最有影响的面向对象的语言之一。80年代中后期以后,随着面向对象的程序设计语言的广泛应用,出现了更多的面向对象的语言。

后来出现的Smalltalk是最有影响的面向对象的语4面向对象的语言可分为以下两类:1、开发全新的面向对象的语言Object—CEiffelSmalltalk802、对传统语言进行面向对象的扩展,称为混合型语言,其代表有C++语言。增加面向对象程序设计的支持支持传统的面向过程的程序设计C++CC++语言具有C语言的丰富的应用基础和开发环境的支持,对于已经掌握C语言的人讲,更易学易普及。面向对象的语言可分为以下两类:增加面向对象程序设计的支持支持5二、从C到C++C语言是贝尔实验室为DEC公司开发PDP系列计算机操作系统时研制的。C作为UNIX操作系统的开发语言而广为应用和流行。1989年制定为ANSIC标准。1、语言简洁、紧凑,使用方便、灵活。2、运算符和数据类型丰富。3、访问内存地址、寄存器、进行位操作,具有汇编语言的功能。4、生成的目标代码质量高、程序运行效率高。C语言的独有特点是:二、从C到C++1、语言简洁、紧凑,使用方便、灵活。C语言6局限:1、对类型的检查机制相对较弱、程序中的一些错误不能在编译时发现;2、无支持代码重用的语言结构;3、当程序规模达到一定的程度时,难以控制程序的复杂性;为满足管理程序复杂性需要,1980年,贝尔实验室对C进行了改进和扩充:“带类的C”C1983年取名为C++,后经过三次修订。1994年制定了ANSIC++标准的草案。局限:为满足管理程序复杂性需要,171、C++是C的扩展,C是C++的子集,C++包括C的全部特征、属性和优点。同时,增加了对面向对象编程的完全支持。2、与C一致,C++程序结构采用函数驱动机制实现。3、C++实现了类的封装,数据隐藏、继承及多态,使其代码可重用并容易维护。4、C++是一门高效使用的程序设计语言,既可进行过程化程序设计,又可进行面向对象程序设计。C++的特点1、C++是C的扩展,C是C++的子集,C++包括C的全部8在面向过程的程序设计中,程序是处理数据的一系列过程。过程(或函数)定义为实现特定功能的一组指令。其主要设计思想是功能分解并逐步求精。数据与程序过程分开存储,编程的主要技巧在于关注模块之间的调用关系及数据的变化。§1.2面向过程的程序设计在面向过程的程序设计中,程序是处理数据的一系列过程。过程(或91、当数据量增大时,数据与处理这些数据的方法之间的分离使程序变得越来越难以理解。2、相对于老问题的新方法都要带来额外的开销,程序的可重用性小。面向过程程序设计的主要缺点

1、当数据量增大时,数据与处理这些数据的方法之间的10面向对象程序设计OOP(Object-OrientedProgramming)的三要素:对象、类和继承面向对象程序设计的实现需要:封装和数据隐藏技术继承和多态性技术§1.3面向对象程序设计面向对象程序设计OOP(Object-Oriented111、封装和数据隐藏什么是对象?概念上:在问题空间中,将客观世界的实体称为对象。对象可以是人、物、事件、规则、概念等。例如:开发一个商品销售系统。实现上:把数据和处理数据的过程(操作或方法)当成一个整体,这个封装体就称为对象。1、封装和数据隐藏12数据1…….数据n操作1…….操作n状态(数据结构和值)方法对象的模型结构数据1操作1状态方法对象的模型结构13例如:电脑装配声卡,早点销售点无须知道封装体内部是如何工作就能使用的思想称为数据隐藏。对象实现了信息隐藏;对象与外部通过操作接口联系,操作接口提供了对象的功能,操作的具体实现外部是不可见的。对象之间是通过消息传递信息。对象是由特定的类创造的,什么是类?类是创建对象的样板,它包含着所创建对象的状态描述和方法的定义。

例如:电脑装配声卡,早点销售点14由一个特定的类所创建的的对象也称为这个类的实例。一个类的所有对象都有相同的数据结构,并且共享相同的实现操作的代码,而各个对象又有具体的不同的状态。类和对象类似于面向过程语言中数据类型和变量。例如:学生类和某个学生对象。2、继承和重用制造一种新型号的电视机可以有两种选择:1)从草图开始重新设计2)对现有型号加以改进(继承和重用)由一个特定的类所创建的的对象也称为15C++采用继承机制支持重用,不仅可重用具有特定功能的类,而且继承可以由已有的类创造新的类。新类共享已有类的属性,自己还具有额外添加的属性,新类是从已有类派生的,称为派生类或子类,已有类称为父类或基类。在客观世界中,存在着整体和部分的关系、一般和特殊的关系,继承将后者模型化。汽车类,各类汽车昆虫类,各类昆虫C++采用继承机制支持重用,不仅可重用具有特定功能163、多态性封装性、继承性、多态性是构成面向对象程序设计的三大特征。封装性是基础继承性是关键多态性是补充什么是多态性?多态是指一个名字有多种语义,或一个相同界面有多种实现;或是指发出同样的消息被不同类型的对象接受而导致完全不同的行为。即对象根据所接收到的消息做出相应的操作。3、多态性17例如:在学籍管理系统中学生类(基类)计算成绩的操作中学生类(派生类)计算成绩的操作大学生类(派生类)计算成绩的操作例如:在学籍管理系统中学生类(基类)中学生类(派生类)大学生18又如:在绘图系统中使用的多态性。函数重载和运算符重载表现了最简单的多态性。函数重载:Voidf(int,int,char);Voidf(char,float);Voidf(int,int);Voidf(int,float);运算符重载:为运算符+-*/等赋以新的含义,以实现类对象的运算。又如:在绘图系统中使用的多态性。19编译错连接编辑编译运行连接错运行错YYYNNN完成#include文件C++库文件×××.CPP

源程序×××.obj目标程序×××.exe可执行程序#include文件§1.4程序开发过程编译错连接编辑编译运行连接错20例1://************************//*******ch1.1.cpp*********//************************#include<iostream.h>voidmain(){cout<<“Iamastudent.\n”;}§1.5最简单的程序运行结果为:

Iamastudent.例1:§1.5最简单的程序运行结果为:21

例2://**ch1.2.cpp**#include<iostream.h>voidmain(){inta,b,result;cout<<“Pleaseinputtwonumbers:\n”;cin>>a>>b;result=3*a-2*b+1;cout<<“Resultis”<<result<<endl;}运行结果为:C:>ch1.2Pleaseinputtwonumbers:10050Resultis201例2:运行结果为:C:>ch1.222C++程序是由函数构成的,由一个主函数和若干个函数构成。C++程序是函数驱动的。例3://*******ch1.3.cpp*********#include<iostream.h>#include<math.h>doublemax(doublx,doubly);voidmain(){doublea,b,c;cout<<“Inputtwonumbers:\n”;cin>>a>>b;c=max(a,b);cout<<“Thesquartofmaximum=”<<sqrt(c);}§1.6函数C++程序是由函数构成的,由一个主函数和若干个函数构成。C23doublemax(doublex,doubley){if(x>y)returnx;elsereturny;}运行结果:Inputtwonumbers:10.0,25.0Thesquartofmaximum=5.0doublemax(doublex,double24学习本课程目的1、作为面向对象程序设计入门,领会面向对象程序设计的基本概念。2、把握C++程序设计的基本要点,掌握面向对象程序设计的方法和要求。学习本课程目的25演讲完毕,谢谢观看!演讲完毕,谢谢观看!26电子科技大学计算机学院C++程序设计语言黄迪明

电子科技大学计算机学院C++程序设计语言黄迪明271第一章C++入门1第一章C++入门28一、面向对象的方法是在计算机语言发展过程中产生的。

早期:机器语言、汇编语言

50年代中期:FORTRAN语言引进了许多现代仍然使用的程序设计概念。

50年代后期:ALGOL60提出块结构的思想。

60年代:SIMULA67首先提出对象和类的概念,并支持类的继承,是面向对象语言的鼻祖

70年代:ADA不能全面地支持继承,称为基于对象的语言。§1.1面向对象的由来和发展一、面向对象的方法是在计算机语言发展过程中产生的。§1.129后来出现的Smalltalk是最有影响的面向对象的语言之一。80年代中后期以后,随着面向对象的程序设计语言的广泛应用,出现了更多的面向对象的语言。

后来出现的Smalltalk是最有影响的面向对象的语30面向对象的语言可分为以下两类:1、开发全新的面向对象的语言Object—CEiffelSmalltalk802、对传统语言进行面向对象的扩展,称为混合型语言,其代表有C++语言。增加面向对象程序设计的支持支持传统的面向过程的程序设计C++CC++语言具有C语言的丰富的应用基础和开发环境的支持,对于已经掌握C语言的人讲,更易学易普及。面向对象的语言可分为以下两类:增加面向对象程序设计的支持支持31二、从C到C++C语言是贝尔实验室为DEC公司开发PDP系列计算机操作系统时研制的。C作为UNIX操作系统的开发语言而广为应用和流行。1989年制定为ANSIC标准。1、语言简洁、紧凑,使用方便、灵活。2、运算符和数据类型丰富。3、访问内存地址、寄存器、进行位操作,具有汇编语言的功能。4、生成的目标代码质量高、程序运行效率高。C语言的独有特点是:二、从C到C++1、语言简洁、紧凑,使用方便、灵活。C语言32局限:1、对类型的检查机制相对较弱、程序中的一些错误不能在编译时发现;2、无支持代码重用的语言结构;3、当程序规模达到一定的程度时,难以控制程序的复杂性;为满足管理程序复杂性需要,1980年,贝尔实验室对C进行了改进和扩充:“带类的C”C1983年取名为C++,后经过三次修订。1994年制定了ANSIC++标准的草案。局限:为满足管理程序复杂性需要,1331、C++是C的扩展,C是C++的子集,C++包括C的全部特征、属性和优点。同时,增加了对面向对象编程的完全支持。2、与C一致,C++程序结构采用函数驱动机制实现。3、C++实现了类的封装,数据隐藏、继承及多态,使其代码可重用并容易维护。4、C++是一门高效使用的程序设计语言,既可进行过程化程序设计,又可进行面向对象程序设计。C++的特点1、C++是C的扩展,C是C++的子集,C++包括C的全部34在面向过程的程序设计中,程序是处理数据的一系列过程。过程(或函数)定义为实现特定功能的一组指令。其主要设计思想是功能分解并逐步求精。数据与程序过程分开存储,编程的主要技巧在于关注模块之间的调用关系及数据的变化。§1.2面向过程的程序设计在面向过程的程序设计中,程序是处理数据的一系列过程。过程(或351、当数据量增大时,数据与处理这些数据的方法之间的分离使程序变得越来越难以理解。2、相对于老问题的新方法都要带来额外的开销,程序的可重用性小。面向过程程序设计的主要缺点

1、当数据量增大时,数据与处理这些数据的方法之间的36面向对象程序设计OOP(Object-OrientedProgramming)的三要素:对象、类和继承面向对象程序设计的实现需要:封装和数据隐藏技术继承和多态性技术§1.3面向对象程序设计面向对象程序设计OOP(Object-Oriented371、封装和数据隐藏什么是对象?概念上:在问题空间中,将客观世界的实体称为对象。对象可以是人、物、事件、规则、概念等。例如:开发一个商品销售系统。实现上:把数据和处理数据的过程(操作或方法)当成一个整体,这个封装体就称为对象。1、封装和数据隐藏38数据1…….数据n操作1…….操作n状态(数据结构和值)方法对象的模型结构数据1操作1状态方法对象的模型结构39例如:电脑装配声卡,早点销售点无须知道封装体内部是如何工作就能使用的思想称为数据隐藏。对象实现了信息隐藏;对象与外部通过操作接口联系,操作接口提供了对象的功能,操作的具体实现外部是不可见的。对象之间是通过消息传递信息。对象是由特定的类创造的,什么是类?类是创建对象的样板,它包含着所创建对象的状态描述和方法的定义。

例如:电脑装配声卡,早点销售点40由一个特定的类所创建的的对象也称为这个类的实例。一个类的所有对象都有相同的数据结构,并且共享相同的实现操作的代码,而各个对象又有具体的不同的状态。类和对象类似于面向过程语言中数据类型和变量。例如:学生类和某个学生对象。2、继承和重用制造一种新型号的电视机可以有两种选择:1)从草图开始重新设计2)对现有型号加以改进(继承和重用)由一个特定的类所创建的的对象也称为41C++采用继承机制支持重用,不仅可重用具有特定功能的类,而且继承可以由已有的类创造新的类。新类共享已有类的属性,自己还具有额外添加的属性,新类是从已有类派生的,称为派生类或子类,已有类称为父类或基类。在客观世界中,存在着整体和部分的关系、一般和特殊的关系,继承将后者模型化。汽车类,各类汽车昆虫类,各类昆虫C++采用继承机制支持重用,不仅可重用具有特定功能423、多态性封装性、继承性、多态性是构成面向对象程序设计的三大特征。封装性是基础继承性是关键多态性是补充什么是多态性?多态是指一个名字有多种语义,或一个相同界面有多种实现;或是指发出同样的消息被不同类型的对象接受而导致完全不同的行为。即对象根据所接收到的消息做出相应的操作。3、多态性43例如:在学籍管理系统中学生类(基类)计算成绩的操作中学生类(派生类)计算成绩的操作大学生类(派生类)计算成绩的操作例如:在学籍管理系统中学生类(基类)中学生类(派生类)大学生44又如:在绘图系统中使用的多态性。函数重载和运算符重载表现了最简单的多态性。函数重载:Voidf(int,int,char);Voidf(char,float);Voidf(int,int);Voidf(int,float);运算符重载:为运算符+-*/等赋以新的含义,以实现类对象的运算。又如:在绘图系统中使用的多态性。45编译错连接编辑编译运行连接错运行错YYYNNN完成#include文件C++库文件×××.CPP

源程序×××.obj目标程序×××.exe可执行程序#include文件§1.4程序开发过程编译错连接编辑编译运行连接错46例1://************************//*******ch1.1.cpp*********//************************#include<iostream.h>voidmain(){cout<<“Iamastudent.\n”;}§1.5最简单的程序运行结果为:

Iamastudent.例1:§1.5最简单的程序运行结果为:47

例2://**ch1.2.cpp**#include<iostream.h>voidmain()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论