您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 第1章c++基础知识
C++语言程序设计高睿办公室:行政楼809联系电话:88045072课程基本情况1.课程名称C++语言程序设计必修课院考课2.主要内容面向对象程序设计的设计方法和设计思想,运用C++语言进行面向对象程序设计的方法。具体包括:类与对象的定义,面向对象三个特征继承、多态和封装的特点及使用,函数模板、类模板的定义和使用,输入/输出流的使用,string类的使用和异常处理等内容。课程基本情况3、使用教材《C++程序设计教程基于案例与实验驱动》邬延辉机械工业出版社4、授课范围第1-9章课程基本情况5、学时安排(教学进程表)周6学时18周108学时周一12节周四34节理论周五12节上机机房六课程基本情况6、考核方式1)期末考试:闭卷笔试50%2)平时成绩:50%A、平时表现出缺勤30%B、平时作业30%C、实验考核30%D、平时提问10%如何学好这门课1、课前预习看一遍书、找到问题2、上课认真听讲需要记忆的内容当时理解记忆3、课后复习再看一遍书,有不懂得地方问同学或老师、认真完成课后作业如何学好这门课4、作业形式1)选择题写在书上书写名,抽查2)简答题、编程题等写在作业本上。按时交,计成绩如何学好这门课5、上机实验1)上机前复习相关章节内容,对上机内容计算出理论结果,准备好相关程序,2)上机时带好教材、本、笔,一边做实验,一边记录结果,同时要对结果进行分析。3)上机后要及时根据实验结果写实验报告,并对相关知识进行检验。课堂要求1、安静2、不要使用手机3、不迟到早退4、认真听讲,不要看手机、不能趴在桌子上、不做与课堂学习无关的事注意事项1、点名2、迟到2次算一次旷课3、停考缺课1/3学时36学时18次课第一章本章要点面向对象程序设计的基本概念面向对象软件的开发步骤C++程序开发过程UML类图C++程序基本规则主要内容1.1面向对象程序设计语言1.2面向对象程序设计的基本概念1.3面向对象软件的开发步骤1.4C++程序开发过程1.5UML类图1.6一个简单的C++程序1.1面向对象程序设计语言1.面向对象程序设计语言分类:•混合型的面向对象程序设计语言。典型的如C++,这类语言是在传统的过程化语言中加入了各种面向对象的成分,它所强调的是运行效率。•纯粹的面向对象程序设计语言。典型的如Java,几乎所有的语言成分都是对象,它强调的是开发快速原型的能力。1.1面向对象程序设计语言2.从C到C++:•C语言不足之处:数据类型检查的机制比较弱、缺少支持代码重用。•C++语言:引入了类的概念。加强了对数据类型的检查,支持代码重用,适合大规模程序开发。•C++标准:ANSI/ISOC++,2003年制定并发布了C++标准第2版。1.1面向对象程序设计语言3.JAVA:•Java由Sun公司在20世纪90年代初开发。•Java是一种具有“简单、面向对象的、分布式、解释型、健壮的、安全的、与体系结构无关的、可移植、高性能、多线程和动态执行”的语言。•Java最大限度地利用了网络,Java的应用程序(Applet)可以在网络上进行传输。•Java是C++的简化和改进,C++程序员可以很快地掌握Java编程技术。1.2面向对象程序设计的基本概念•面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。•面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。1.2面向对象程序设计的基本概念例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。1.2面向对象程序设计的基本概念而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。1.2面向对象程序设计的基本概念面向对象的程序设计语言:Smalltalk语言、LISP语言、Ada语言、Simula67语言、Modula-2语言、Prolog语言C++JAVA1.2面向对象程序设计的基本概念1.类(class):具有相同属性和服务的一组对象的集合。例如:人汽车房子学生类内部包括属性和行为两个主要部分。人姓名年龄身高吃饭工作学习学生学号班级姓名上课考试吃饭1.2面向对象程序设计的基本概念2.对象(object):描述系统中某一客观事物的一个实体,它是构成系统的一个基本单位。例如:张三20185吃饭工作学习类与对象的关系:类型和实体的关系模具和产品的关系类型和变量的关系inti1.2面向对象程序设计的基本概念面向对象程序设计的3个主要特征:封装、继承、多态3.封装(encapsulation):把对象的属性和行为结合成一个独立的系统单位,并且尽可能地隐蔽对象的内部细节。例如:人体重防止随意修改防止随意查看C++中用类实现封装专门的方法吃饭称体重1.2面向对象程序设计的基本概念4.继承(inheritance):是软件规模化的一个重要手段,能够提高软件开发效率。特殊类的对象拥有其一般类的全部属性和行为。例如:人学生汽车小轿车特殊类可直接使用一般类的全部内容,提高软件开发效率。1.2面向对象程序设计的基本概念5.多态性(polymorphism):对于相同的消息,不同的对象具有不同的反应能力。例如:吃饭中国人筷子美国人刀叉印度人手双击文件夹打开可执行文件运行word文档启动word进行编辑图片启动ACDsee显示1.3面向对象软件的开发步骤•面向对象的分析(OOA)•面向对象的设计(OOD)•面向对象的编程(OOP)•面向对象的测试(OOT)•面向对象的软件维护(OOSM)1.4C++程序开发过程编辑器源程序.cpp源程序.h系统头文件源程序.cpp目标程序.obj库文件.lib可执行文件.exe预处理器编译器连接器调试器运行exe文件1.5UML类图•UML(UnifiedModelingLanguage)称为统一建模语言。通过UML,在面向对象设计中把对应用问题的描述直观地表示出来。•UML语言是一种典型的面向对象建模语言,但是它不是一种编程语言,在UML语言中,用符号描述概念,概念之间的关系通过连线来描述。1.5UML类图【例1-1】KingClass的描述。英国国王乔治三世法国国王路易十六世name:KingGeorgeIIICountry:GreatBritainstartOfReign:1760endOfReign:1820name:KingLouisXVICountry:FrancestartOfReign:1774endOfReign:17921.5UML类图KingClassnamecountrystartOfReignendOfReignreign()abdicate()类名属性操作图1-4KingClass的UML描述1.5UML类图【例1-2】ShoeClass的描述。ShoeClasscolorsizewidthstylematerialPutOn()TakeOff()Shine()类名属性操作图1-5ShoeClass的UML描述1.5UML类图1.UML中数据成员的语法:[访问控制属性]名称[重数][:类型][=默认值][{约束特征}]•访问控制属性:+public公有类型-private私有类型#protect保护类型•名称:数据成员的名称•类型:数据成员的类型int类•默认值:数据成员的初始值•约束特征:约束说明{只读}1.5UML类图例如:-size:int+size:Area=(100,100)1.5UML类图2.UML中成员函数的语法:[访问控制属性]名称[(参数表)][:返回类型][{约束特征}]•访问控制属性:同上•名称:成员函数的名称•参数表:由逗号分隔的参数,名称:类型=默认值•返回类型:成员函数返回值的类型void•约束特征:约束说明{只读}例如:+PutOn():void1.5UML类图King-name:char*-country:char*-startOfReign:int-endOfReign:int+reign():void+abdicate():voidShoe-color:char*-size:int-width:char*-style:char*-material:char*+PutOn():void+TakeOff():void+Shine():voidKing类和Shoe类完整UML类图表示1.6一个简单的C++程序//1-3.cpp//AsimpleC++program./*Thisisanothercommentstyle.*/#includeiostreamusingnamespacestd;intmain(){intnumber_of_pods,peas_per_pod,total_peas;1.6一个简单的C++程序1.一个C++程序是由一个或多个源文件组成的。每一个C++源程序通常都以.cpp为扩展名。2.注释方式:块注释行注释/*…*///3.文件包含#includeiostream预编译命令包含iostream库标准方式系统文件夹“”用户方式用户文件夹1.6一个简单的C++程序4.Usingnamespacestd;打开标准命名空间5.程序的开始和结束intmain(){……return;}1.6一个简单的C++程序coutPressreturnafterenteringanumber.\n;cout“Enterthenumberofpods:\n”;cinnumber_of_pods;cout“Enterthenumberofpeasinapod:\n”;cinpeas_per_pod;total_peas=number_of_pods*peas_per_pod;cout“Ifyouhave”;coutnumber_of_pods;cout“peapods”endl;coutand;1.6一个简单的C++程序6.定义变量7.输入输出coutcin8.换行/nendl1.6一个简单的C++程序coutpeas_per_pod;coutpeasineachpod,thenendl;coutyouhavetotal_peaspeasinallthepodsendl;return0;}本章小结•C++语言中面向对象的基本概念包括类、对象、封装、继承、多态性。•面向对象的软件工程是面向对象方法在软件工程领域的全面应用,它包括面向对象的分析、设计、编程、测试和维护。•UML类图是一种在面向对象设计中直观地描述应用问题的手段,通过UML类图,可以详细了解类的组成及内容,也可以表示出多个类之间的联系。作业习题一一写在书上二、2,4,5三、1,2,5
本文标题:第1章c++基础知识
链接地址:https://www.777doc.com/doc-2244513 .html