第1章 面向对象技术概论
1.1 软件开发方法概述
1.1.1 结构化方法
1.1.2模块化方法
1.1.3 面向数据结构方法
1.1.4 面向对象方法
1.1.5 软件开发方法的评价与选择
1.2 软件生存周期
1.2.1 软件定义阶段
1.2.2 软件开发阶段
1.2.3 软件使用、维护和更新换代阶段
1.3 面向对象的基本概念
1.3.1 面向对象方法的特点
1.3.2 对象(Obiect)
1.3.3 类(Class)
1.3.4 封装(Encapsulation)
1.3.5 继承(1nheritance)
1.3.6 消息(Message)
1.3.7 多态性(Polymorphism)
1.4 面向对象系统开发过程
1.5 面向对象分析
1.5.1 OOA步骤
1.5.2 OOA过程
1.5.3 建造对象类静态结构模型
1.5.4 建造对象类动态结构模型
1.5.5 建造对象类功能处理模型
1.6 面向对象设计
1.6.1 OOD的步骤
1.6.2 系统对象设计
1.6.3 系统体系结构设计
1.6.4 系统优化和审查
1.6.5通用设计样式
1.7 系统文档、实现、测试和维护
1.7.1 系统文档资料
1.7.2系统实现(001)
1.7.3系统测试(OOT)
1.7.4系统维护(OOM)
1.8 几种典型的面向对象方法简介
1.8.1 布什(Booch)面向对象方法论
1.8.2 雅寇森(Jacobson)的面向对象方法论
1.8.3 尤顿(Coad-Yourdon)的面向对象方法论
1.8.4 詹姆斯·云豹(JamesRumbaugh)的面向对象方法论
1.9 小结
1.10 题
第2章 C++简单程序设计
2.1 C++语言概述
2.1.1 C++语言的诞生
2.1.2 C++的特点
2.1.3 C++程序实例
2.1.4 字符集
2.1.5 ASCII码
2.2 C++程序基本要素
2.2.1 词法记号
2.2.2 常量
2.2.3 变量
2.2.4 符号常量
2.2.5 运算符与表达式
2.3 C++数据类型
2.3.1 基本数据类型
2.3.2 枚举类型
2.3.3 结构体
2.3.4 联合体
2.3.5 位域
2.4 数据的输入与输出
2.4.1 I/0流
2.4.2 预定义的插入符和提取符
2.4.3 简单的I/O格式控制
2.5 条件控制 2.5.1 条件语句
2.5.2 switch语句
2.6 循环
2.6.1 for循环语句
2.6.2 while循环语句
2.6.3 do...while循环语句
2.6.4转移语句
2.6.5 多重循环
2.7 数组
2.7.1 数组的概念
2.7.2一维数组
2.7.3 --:维数组
2.7.4 使用typedef语句定义数组类型
2.8字符串
2.8.1 字符串概念
2.8.2 字符串函数
2.9 小结
2.10 习题
第3章 函数
3.1 函数的定义与使用
3.1.1 函数的定义与说明
3.1.2 函数的调用
3.1.3 函数的参数和返回值
3.2 传值调用与引用调用
3.2.1 传值调用
3.2.2 引用调用
3.3 函数和变量的作用域
3.3.1 函数的作用域
3.3.2 变量的作用域和生存期
3.4 内联函数和函数重载
3.4.1 内联函数
3.4.2函数重载
3.5 函数的嵌套调用和递归调用
3.5.1 函数的嵌套调用
3.5.2 函数的递归调用
3.6 函数模板和使用C++系统函数
3.6.1 函数模板
3.6.2 使用C++系统函数
3.7 小结
3.8 题
第4章 类与对象
4.1 类和对象的构造与创建
4.1.1 类设计的基本概念
4.1.2类的定义格式
4.1.3 类的成员函数
4.1.4 类成员的访问控制
4.1.5 对象的声明与使用
4.2 构造函数和析构函数
4.2.1 构造函数与拷贝构造函数
4.2.2 析构函数
4.3 对象的生存期和类的作用域
4.3.1 对象的生存期
4.3.2类的作用域
4.4 友元函数和友元类
4.4.1 友元函数
4.4.2友元类
4.5 静态成员
4.5.1 静态数据成员
4.5.2静态成员函数
4.6 类和对象的进一步应用
4.6.1 类对象作为成员
4.6.2常对象
4.6.3 对象作函数参数
4.6.4对象数组
4.7 类模板
4.7.1 类模板的定义
4.7.2类模板的使用
4.8 小结
4.9 习题
第5章 指针
5.1 指针的概念
5.2 指针的定义、赋值及运算
5.2.1 如何定义指针
5.2.2“*”和“&”运算符
5.2.3 指针的赋值
5.2.4指针的运算
5.3 指针与数组
5.3.1 用指针访问数组元素
5.3.2 指向数组的指针
5.3.3 指针数组
5.4 指针与字符串
5.4.1 字符数组与字符指针
5.4.2 字符串处理函数
5.4.3 string类
5.5 指针与函数
5.5.1 指针作为函数参数
5.5.2指针函数
5.5.3 函数指针
5.6 指针与引用
5.7 其他类型的指针
5.7.1 const指针
5.7.2对象指针
5.7.3 this指针
5.8 动态内存分配
5.8.1 堆内存
5.8.2 new和delete运算符
5.8.3 动态内存分配与释放函数
5.9 小结
5.10 习题
第6章 继承与派生
6.1 继承的含义
6.2 继承的语法
6.3 继承中的访问控制
6.3.1 公有继承
6.3.2私有继承
6.3.3 保护继承
6.4 成员覆盖与作用域分辨
6.5 继承中对象的初始化与清除
6.5.1 初始化和清除
6.5.2 构造函数和析构函数的调用顺序
6.6 向上映射
6.6.1 公有继承中的向上映射示例
6.6.2 私有继承、保护继承和向上映射
6.6.3 向上映射的缺点
6.7多重继承
6.7.1 多重继承的语法
6.7.2 多重继承中的构造函数与析构函数
6.7.3 多重继承的二义性
6.7.4 虚基类
6.8 小结
6.9 题
第7章 多态
7.1 多态概述
7.1.1 多态的类型
7.1.2 多态的实现机制
7.2运算符重载
7.2.1 运算符重载的语法和规则
7.2.2 一元运算符重载
7.2.3 二元运算符重载
7.2.4 几个特殊运算符的重载
7.2.5 运算符重载与类型转换
7.3 虚函数
7.3.1 问题的提出
7.3.2 虚函数
7.3.3 虚函数的实现
7.3.4 虚函数和构造函数
7.3.5 虚析构函数
7.3.6 对象切片问题
7.3.7 纯虚函数
7.3.8 抽象类
7.4 小结
7.5 习题
第8章 动态组合对象类
8.1 数据结构组合类的引入
8.2动态数组类
8.3 动态线性链表类
8.4特殊动态线性表——堆栈类
8.5 特殊线性表——循环队列类
8.6 数据排序算法
8.6.1 冒泡法
8.6.2插入法
8.6.3选择法
8.7 使用C++标准类库中的动态组合类模板
8.8 小结
8.9 题
第9章 输入输出流类
9.1 流类层次结构
9.1.1 流类简介
9.1.2 流类及流类间的关系
9.2 从标准输入/输出流中读/写数据
9.2.1 从标准输入获取数据
9.2.2 将数据写入标准输出
9.3 顺序文件的输入/输出
9.3.1 文件的打开与关闭
9.3.2将数据写入文件
9.3.3 从文件中读取数据
9.4 文件的随机读取
9.4.1 文件的读取指针
9.4.2 随机读取数据文件
9.4.3 从串流中读取数据
9.4.4 自定义输入运算符
9.5 文件的随机写入
9.5.1 文件的写指针
9.5.2 随机写
9.5.3 将数据写入串流
9.5.4输出运算符重载
9.6 二进制文件的读取
9.7 小结
9.8 习题
第10章 异常处理机制
10.1 基本概念
10.2 C++中的异常处理机制
10.2.1 异常处理的语法格式
10.2.2 int型异常信息值的抛掷与捕获
10.2.3 C++异常处理机制的执行过程
10.2.4 异常事件定义与异常接口声明
10.3 异常处理的规则
10.4 处理异常事件类
10.5 小结
10.6 习题
第11章 统一建模语言UML
11.1 UML简介
11.1.1 UML发展历史
11.1.2 UML描述软件的体系结构
11.1.3 UML模型基本图标元素
11.2 UML模型图
11.2.1 用例模型图
11.2.2 静态结构模型图
11.2.3 动态行为模型图
11.3 UML系统模型结构
11.3.1 子系统的组织结构
11.3.2 系统模型的组织结构
11.3.3 系统结构层次
11.4 UML的公共机制
11.5 UML的扩展机制
11.5.1 构造型
11.5.2 标记值
11.5.3 约束
11.6 UML软件开发过程
11.6.1 项目开发的阶段
11.6.2 UML开发过程中的成分
11.6.3 UML软件开发过程的产物
11.6.4 UML软件开发过程的特征
11.7 小结
11.8 习题
窘12章 设计样式与综合案例
12.1 引言
12.2对象类的关联
12.2.1 关联
12.2.2 聚集
12.2.3继承
12.2.4依赖和细化
12.3 接口
12.4通用对象设计样式
12.4.1 设计样式的特征
12.4.2 几个简单的设计样式
12.4.3 通用接口设计样式
12.4.4 设计样式的描述与调用
12.5包与子系统
12.5.1 包
12.5.2包的嵌套
12;5.3 包之间的关系
12.6 案例分析
12.6.1 建立系统用例模型
12.6.2对象类建模
12.6.3 动态交互行为建模
12.6.4动态活动状态建模
12.6.5 物理体系结构建模
12.7 小结
12.8 题
附录 VisualC++6.0编程环境简介