C++程序设计案例教程

出版时间:2010-4  出版社:科学  作者:王学颖//李航//张燕丽//李晖  页数:285  

前言

  面向对象程序设计是计算机软件开发人员必须掌握的一门技术,它与传统的结构化程序设计相比,具有很多优点,从根本上改变了人们设计软件的思维方式,使程序设计者不用特别关心具体的数据格式和过程,只需将重点放在要处理对象的设计和研究上即可。C++语言是一种面向对象的编程语言,同时又兼容C语言的特征。用C++语言编写的程序可读性更好,代码结构更合理,对面向对象技术提供全面支持。C++语言具有简单易学的特点,适合作为面向对象程序设计方法学习的入门语言。  本书是编者多年C++教学经验的总结,针对编者在教学中出现的问题及遇到的困难进行讲解,全面系统地讲述了C++语言的基本概念和编程方法,重点叙述面向对象程序设计的特征,即封装性(类和对象)、继承性和多态性。本书以一个完整的应用案例——水果超市管理系统的实现贯穿各章,使读者能够充分认识面向对象的编程方法,并能进行实际操作。在案例中,按照应用系统的开发步骤对系统进行分模块讲解,尤其是对水果超市管理系统中使用的类、对象和继承关系进行了详细的分析和设计,使读者能通过具体的实例充分理解面向对象程序设计方法的实质,同时对应用系统开发有一个初步的认识,并能进行实际操作,对提高读者的编程能力很有帮助。水果超市管理系统的源代码在附录中给出,并已调试通过。  全书共分10章,针对各章的知识点提供了相应的例题,并配有大量习题,便于读者对所学知识进行检测和巩固。全书主要内容包括以下3部分。  第一部分(第1~4章)简单介绍C++语言的特点和面向对象程序设计的基本概念,详细讲述C++语言的基本语法规则和功能,包括各种数据类型、控制语句,以及函数、指针和引用等。  第二部分(第5~7章)重点叙述C++语言所支持的面向对象程序设计方法的核心内容:封装性、继承性和多态性。具体内容包括类和对象的定义和使用、对象的赋值和运算、继承性和派生类、多态性和虚函数等。这一部分是学习C++语言的重点和难点。  第三部分(第8~10章)介绍函数模板、类模板和标准模板库(STL)的使用方法,同时对c++中的异常处理机制和标准库中的异常类进行详细叙述,最后针对ACM-ICPC平台及在线实训内容进行简要说明。

内容概要

  《C++程序设计案例教程》首先简单介绍了面向对象程序设计的基本概念,然后全面系统讲解C++语言的基本语法和编程方法以及C++语言面向对象的重要特征(类和对象、继承和派生类、多态性和虚函数)等,最后介绍ACM-ICPC实训平台的基本使用方法。《C++程序设计案例教程》内含丰富的例题和习题,便于读者学习和巩固知识。  《C++程序设计案例教程》可作为高等院校计算机、电子信息及信息管理等相关专业“C++程序设计”课程的教材,也可供初学者自学使用。

书籍目录

第1章 C++程序设计概述1.1 C++语言的历史和演进1.1.1 计算机语言的发展1.1.2 C++语言的产生1.1.3 C++语言的主要版本1.2 C+4语言的特点1.2.1 面向过程1.2.2 面向对象1.3 面向对象的相关概念1.4 C++程序的基本结构和开发环境1.4.1 C++程序的基本结构1.4.2 C++程序的实现1.4.3 C++程序的开发环境习题第2章 C++语言基础2.1 基本数据类型2.2 标识符与关键字2.3 常量与变量2.3.1 常量2.3.2 变量2.4 运算符与表达式2.4.1 运算符2.4.2 表达式2.5 数组2.5.1 数组的定义2.5.2 数组的赋值2.5.3 字符数组2.6 枚举2.6.1 枚举类型定义2.6.2 枚举变量定义2.6.3 枚举变量赋值2.7 结构体2.7.1 结构体类型定义2.7.2 结构体变量的定义和初始化2.7.3 结构体变量的引用2.8 共用体2.9 控制语句2.9.1 选择结构语句2.9.2 循环结构语句2.9.3 转向语句2.10 应用实例——水果超市管理系统菜单设计2.10.1 系统功能介绍2.10.2 系统菜单设计习题第3章 指针和引用3.1 指针3.1.1 指针的概念3.1.2 指针变量的定义3.1.3 指针变量的运算3.1.4 指针的指针3.2 指针与数组3.2.1 指向数组的指针3.2.2 指针数组3.3 字符串3.3.1 C风格字符串3.3.2 string类型3.4 引用3.4.1 引用的概念3.4.2 指针和引用的区别与联系3.5 指针及引用在函数中的作用3.6 应用实例——果超市管理系统的水果基本信息管理习题第4章 函数4.1 函数的定义、声明和类型4.1.1 函数的定义4.1.2 函数的声明4.1.3 函数的类型4.2 函数的参数与调用4.2.1 函数的参数4.2.2 函数的调用4.3 内联函数4.4 函数的重载4.5 标识符的作用域4.5.1 作用域的种类4.5.2 标识符的作用域规则4.5.3 全局变量和局部变量4.6 应用实例——水果超市管理系统中购物车的设计习题第5章 类和对象5.1 类的定义5.1.1 类的定义格式5.1.2 类成员的访问控制5.1.3 成员函数的特性5.2 对象的定义和使用5.2.1 对象的定义方法5.2.2 对象成员的表示方法5.3 构造函数和析构函数5.3.1 构造函数5.3.2 析构函数5.4 静态成员5.4.1 静态数据成员5.4.2 静态成员函数5.5 常对象和常成员5.5.1 常对象5.5.2 常数据成员5.5.3 常成员函数5.6 对象指针和对象引用5.6.1 对象指针5.6.2 this指针5.6.3 对象引用5.7 对象数组5.7.1 对象数组的定义和使用5.7.2 对象指针数组5.7.3 指向对象数组的指针5.8 子对象和堆对象5.8.1 子对象5.8.2 堆对象5.9 友元5.9.1 友元函数5.9.2 友元类5.10 类的作用域和对象的生存期5.10.1 类的作用域5.10.2 对象的生存期5.11 应用实例——水果超市管理系统基本类的设计5.11.1 “水果类”Fruit的设计5.11.2 “水果总类”FruitKind的设计5.11.3 “购买水果品种类”CartItem设计5.11.4 “购物车类”Cart的设计习题第6章 继承6.1 继承的概念6.1.1 什么是继承6.1.2 派生类的定义格式6.1.3 派生类对象的结构6.2 继承方式6.2.1 公有继承6.2.2 私有继承6.2.3 保护继承6.3 派生类的构造函数和析构函数6.4 多继承6.4.1 多继承的概念6.4.2 多继承下的构造函数6.4.3 二义性6.5 虚基类6.5.1 虚基类的定义6.5.2 虚基类的构造函数和分析构函数6.6 类型转换6.6.1 派生类到基类的转换6.6.2 基类到派生类的转换6.7 应用实例——水果超市管理系统中类的继承关系6.7.1 “正价水果类”RegularFruit的设计6.7.2 “特价水果类”DiscountFruit的设计6.7.3 验证习题第7章 多态7.1 多态的描述7.1.1 什么是多态7.1.2 多态的分类7.1.3 多态的实现方式7.2 运算符重载7.2.1 运算符重载的定义7.2.2 双目运算符重载7.2.3 单目运算符重载7.3 虚函数7.3.1 虚成员函数7.3.2 虚析构函数7.4 抽象类7.4.1 纯虚函数7.4.2 抽象类与具体类7.5 应用实例——水果超市管理系统中虚函数的使用习题第8章 模板和STL8.1 模板简介8.2 函数模板8.3 类模板8.3.1 类模板的定义8.3.2 类模板用作函数的参数8.3.3 类模板用作基类8.4 STL8.4.1 STL简介8.4.2 容器8.4.3 迭代子8.4.4 算法习题第9章 异常处理9.1 简介9.2 基本语法9.3 构造函数、析构函数和异常9.4 继承和异常9.5 标准库中的异常类习题第10章 ACM-ICPC简介及在线实训10.1 ACM-ICPC简介10.2 在线实训模式10.3 实训练习习题附录A C++常用运算符的功能、优先级和结合性附录B 水果超市管理系统源程序清单参考文献

章节摘录

  对象之间传递信息是通过消息实现的,当一个对象对另一个对象发出的消息进行响应时,其操作才得以实现。  2.类(Class)  类是人们对客观事物的高度抽象。抽象是指抓住事物的本质特性,找出事物之间的共性,并将具有共同特性的事物划分为一类,得到一个抽象的概念。例如,人、汽车、房屋、水果等都是类的例子。  类是一种类型,是具有相同属性和操作的一组对象的集合。类的作用是定义对象,类给出了属于该类的全部对象的抽象定义,而对象则是类的具体化,是符合这种定义的一个类的实例。类还可以有子类和父类,子类通过对父类的继承形成层次结构。  把一组对象的共同特性加以抽象并存储在一个类中的能力是面向对象技术中最重要的一点,是否建立了一个丰富的类库则是衡量一个面向对象程序设计语言成熟与否的重要标志。  3.封装(EncapsulatIon)  封装是面向对象方法的重要特征之一,是指将对象的属性和行为(数据和操作)包裹起来形成一个封装体。该封装体内包含对象的属性和对象的行为,对象的属性由若干个数据组成,而对象的行为则由若干操作组成,这些操作是通过函数来实现的,也称之为方法。  封装体具有独立性和隐藏性。独立性是指封装体内所包含的属性和行为构成了一个不可分割的独立单位。隐藏性是指封装体内的某些成员(数据或者方法)在封装体外是不可见的,既不能被访问,也不能被改变,这部分成员被隐藏了,具有安全性。一般情况下,封装体和外界的联系是通过接口来进行的。  4.继承(Inhe ritance)  继承是面向对象方法的另一个重要特征,是提高重用性的重要措施。继承提供了创建新类的一种方法,表现了特殊类与一般类的关系。特殊类具有一般类的全部属性和行为,并且还具有自己特殊的属性和行为,这就是特殊类对一般类的继承。通常将一般类称为基类(父类),而将特殊类称为派生类(子类)。  使用继承可以使人们对事物的描述变得简单。例如,已经描述了动物这个类的属性和行为,由于哺乳动物是动物的一种,它除了具有动物这个类的所有属性和行为外,还具有自己特殊的属性和行为,这样在描述哺乳动物时就只需要在继承动物类的基础上再加入哺乳动物所特有的属性和行为就可以了。因此,哺乳动物是特殊类,是子类;而动物是一般类,是父类。  继承的本质特征就是行为共享。通过行为共享,可以减少冗余性,很好地解决软件重用性的问题。

编辑推荐

  一个完整应用案例——水果超市管理系统贯穿各章,按照应用系统的开发步骤对该系统进行分模块讲解,充分展示面向对象的编程思想与方法  详细介绍C++语言的基本概念,重点叙述面向对象程序设计的特征:封装性(类和对象)、继承性和多态性  分析教学中易出现的问题及遇到的困难  适用对象  ·高等院校计算机、电子信息及信息管理等相关专业  ·计算机培训学校  ·程序设计自学人员

图书封面

评论、评分、阅读与下载


    C++程序设计案例教程 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7