本书介绍面向对象的基本理论以及如何运用C++语言实现面向对象的程序设计。本书作者根据自己学习C++的亲身体会及多年教学经验,用简单的例子和简练的叙述讲解C++编程,注重理论和实践的结合,使读者在掌握基本理论的同时,提高实际动手能力。
全书共分11章。其中第1章主要介绍面向对象的基本理论;第2章至第5章主要介绍C++程序设计语言、程序结构以及过程化程序设计基础知识;第6章至第11章主要介绍面向对象的程序设计方法,内容涉及类、重载、继承、多态、异常处理和模板等方面的知识。
本书是作者总结多年教学实践和科研开发经验写成的,可作为大学计算机专业程序设计基础课程教材,也可作为相关专业人员的参考用书。
第1章面向对象程序设计的基本知识
1.1面向对象程序设计的基本思想
1.1.1结构化程序设计思想
1.1.2面向对象的程序设计思想
1.1.3面向对象的程序设计语言
1.2面向对象程序设计的基本概念
1.2.1对象的基本概念
1.2.2类的基本概念
1.2.3类与对象的关系
1.2.4消息
1.3面向对象程序语言的基本特点
1.3.1抽象
1.3.2封装
1.3.3继承
1.3.4多态
1.4面向对象程序设计的模式
小结
习题
第2章基本数据类型和表达式
2.1基本数据类型
2.2常量和变量
2.2.1整型常量
2.2.2实型常量
2.2.3字符型常量
2.2.4变量的定义
2.2.5变量的作用域
2.3表达式与操作符
2.3.1算术运算符
2.3.2关系运算符
2.3.3逻辑运算符
2.3.4赋值运算
2.3.5逗号表达式和运算符
2.3.6sizeof运算符
2.3.7位操作符
2.4强制类型转换
小结
习题
第3章程序控制结构
3.1程序结构概述
3.2程序流程图
3.3顺序结构
3.4选择结构
3.4.1if语句
3.4.2ifelse语句
3.4.3扩展ifelse语句
3.4.4switch语句
3.5循环结构
3.5.1while语句
3.5.2dOwhile语句
3.5.3for语句
3.5.4continue和break语句
3.6编译预处理
3.6.1宏定义语句
3.6.2文件包含语句
3.6.3条件编译语句
小结
习题
第4章函数
4.1函数定义和声明
4.1.1函数的定义
4.1.2函数的返回值
4.1.3函数原型的声明
4.2函数的调用
4.3函数参数的传递机制
4.3.1值传递
4.3.2引用传递
4.4递归函数
4.5默认参数的函数
小结
习题
第5章数组、指针和结构
5.1一维数组的定义与使用
5.1.1一维数组的定义
5.1.2一维数组的初始化
5.1.3一维数组的应用
5.2二维数组的定义与使用
5.2.1二维数组的定义
5.2.2二维数组的初始化
5.2.3二维数组的应用
5.3字符数组与字符串
5.3.1字符数组
5.3.2字符串
5.3.3对字符串的操作
5.4指针的概念
5.4.1指针的类型
5.4.2指针变量的定义与初始化
5.4.3指向指针的指针变量
5.5指针与数组
5.5.1指针与数组的关系
5.5.2指针与一维数组
5.5.3指针与二维数组
5.5.4指针与多维数组
5.6结构的定义与使用
5.6.1结构的定义
5.6.2定义和使用结构变量
5.7结构与数组
5.8结构与指针
小结
习题
第6章类
6.1类的定义
6.1.1类成员的访问控制
6.1.2成员函数的声明和定义
6.2类对象的定义和使用
6.2.1类和对象的关系
6.2.2通过对象来访问类的成员
6.2.3利用对象指针和对象引用传递函数的参数
6.2.4指向类成员的指针
6.2.5常类型
6.2.6对象的生存周期
6.3构造函数与析构函数
6.4复制构造函数
6.5深复制与浅复制
6.6局部类和嵌套类
6.7对象数组
6.8this指针
6.9动态储存
小结
习题
第7章静态成员与友元
7.1静态成员的特点
7.2静态成员变量
7.3静态成员函数
7.4友元的特点
7.5一般友元函数
7.6友元成员
7.7友元类
小结
习题
第8章重载
8.1函数重载的特点
8.2函数重载的方法
8.2.1构造函数重载-
8.2.2类成员函数重载
8.2.3类以外一般函数重载
8.3运算符重载
8.3.1重载为类的成员函数
8.3.2以成员函数方式重载运算符实例
8.3.3重载为类的友元函数
8.3.4以友元函数方式重载运算符实例
8.4类类型转换
8.4.1隐式类型转换
8.4.2显式类型转换
小结
习题
第9章继承与多态
9.1继承的基本概念
9.2派生类对基类成员的访问控制
9.3派生类的构造函数和析构函数
9.3.1派生类的构造函数
9.3.2派生类的析构函数
9.3.3派生类的其他说明
9.4访问声明调整
9.5对象指针在派生类中的特性
9.6多继承
9.7多继承的构造函数
9.8多态的特点及分类
9.8.1静态联编
9.8.2动态联编
9.9虚函数
9.9.1虚函数的定义与使用
9.9.2在构造函数中调用虚函数
9.9.3在析构函数中调用虚函数
9.9.4关于虚函数的几点说明
9.10纯虚函数与抽象类
小结
习题
第10章异常处理
10.1异常处理的基本思想
10.2异常处理的实现
10.3异常处理的规则
10.4构造函数中的异常
小结
习题
第11章模板
11.1模板的概念
11.2函数模板
11.3类模板
小结
习题
附录A常用字符与AS{31l代码对照表
附录BC++术语中英文对照表
参考文献
面向对象技术是20世纪90年代以来计算机应用领域迅速发展起来的一个新生事物,它的出现被认为是程序设计方法学的一场革命,在现代程序设计思想中占有重要的地位。面向对象程序设计思想的核心是用类来表示各种概念。在这种思想影响下,诞生了一批面向对象程序设计语言,通过各种语言和程序设计范型的演化,可以清晰地看到面向对象程序设计技术的各种优势,它克服了面向过程编程方式中数据与算法完全分离的弊端,并在此基础上演化出了多种新的组织程序和表达概念的方法。
C++语言是目前应用较广的面向对象的程序设计语言,使用它可以实现面向对象的程序设计。C++被认为是目前世界上功能最强大的计算机语言之一,是通往面向对象程序设计的有效途径。对于开发高性能的软件,C++是一种卓越的程序设计语言,同时,在全世界范围内,它也是程序员的首选语言。C++并不只是一种流行的程序设计语言,它还为其他几种程序设计语言以及许多先进计算思想提供了理论基础。C#和Java这两种重要的语言都来源于C++,它的语法、风格以及设计思想在很多方面都影响着现代程序设计。
本书介绍面向对象的基本理论以及如何运用C++语言实现面向对象的程序设计。本书将从C++的基础知识开始,由浅入深地介绍该语言所有的核心内容。此外,在本书的后面还介绍了C++的高级特征。作者根据自己学习C++的亲身体会及多年教学经验,用通俗的例子和简练的叙述讲解C++编程,注重理论和实践的紧密结合,使读者在掌握基本理论的同时,提高实际动手能力。
全书共分11章。第1章主要介绍面向对象程序设计的基本理论,重点包括面向对象程序设计的基本思想、概念、特点及基本框架;第2~5章介绍C++程序设计语言、程序结构以及过程化基础,重点包括基本数据类型和表达式的概念及使用、程序结构控制的方法及函数、数组、指针等概念及使用方法;第6—11章介绍面向对象的程序设计方法,主要介绍类、重载、继承、多态、异常处理和模板等方面的知识,重点包括类的定义及面向对象系统的封装性、友元的定义及使用、通过重载和继承等机制实现面向系统的多态性、异常处理的机制与实现以及模板的概念与使用等。
全书的编写工作由周生炳统一组织实施,第1~5章由邸晓奕编写,第6~11章由万映辉编写。本书是作者总结多年教学实践和科研开发的经验写成的,全书力求做到内容全面,概念清楚,通俗易懂,并注重实用性和先进性。本书可作为大学计算机专业程序设计基础课程教材,也可作为相关专业人员的参考用书。
由于水平有限,时间仓促,书中难免有错误或不妥之处,诚恳期待读者的批评指正和建议,以供再版时参考,使本书日臻完善。