第1章C++语言概述
1.1C++语言的起源与特点
1.1.1从C到C++
1.1.2C++与C的关系
1.1.3C++面向对象的特性
1.2C++语言的基本符号与词法
1.2.1C++的字符集
1.2.2数据类型概述
1.2.3常量
1.2.4变量
1.2.5运算符
1.2.6表达式
1.2.7数据类型转换
1.3C++语言程序的结构
1.3.1顺序结构
1.3.2选择结构
1.3.3循环结构
1.3.4转移语句
1.4C++语言程序的编辑及运行
1.4.1Linux程序设计基础知识
1.4.2Linux下C++语言编程环境概述
1.4.3Linux下C++语言编码的风格
习题
第2章类和数据抽象
2.1类的定义
2.1.1类的定义
2.1.2类的成员函数
2.1.3类和结构
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.6堆对象与拷贝构造函数
2.3.7局部类和嵌套类
2.4友元函数与友元类
2.4.1友元函数的说明
2.4.2友元函数的使用
2.4.3友元类
2.5静态成员
2.5.1静态数据成员
2.5.2静态成员函数
2.6this指针
习题一
习题二
第3章继承和派生
3.1基类和派生类
3.1.1派生类的定义格式
3.1.2派生类的3种继承方式
3.1.3访问控制
3.1.4基类和派生类的关系
3.2继承方式
3.2.1单继承
3.2.2多继承
3.2.3虚基类
3.3派生与继承应用实例
3.3.1问题描述
3.3.2算法分析
3.3.3数据说明
3.3.4功能说明:定义父类和相关的子类
3.3.5参考程序:“院校管理系统”程序实例
习题
第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.2.3动态联编与虚函数
4.2.4虚函数的限制
4.2.5虚函数与重载函数的比较
4.3纯虚函数和抽象类
4.3.1纯虚函数
4.3.2抽象类
4.3.3虚析构函数
习题一
习题二
习题三
第5章C++流
5.1C++流类库
5.1.1预定义流
5.1.2C++中的流类库
5.2C++输入/输出流
5.2.1文件流
5.2.2字符串流
5.3C++IO流格式控制
5.3.1ios类中的枚举常量
5.3.2使用ios成员函数
5.3.3使用I/O操作符
5.3.4检测流操作的错误
习题
第6章线性表
6.1线性表的逻辑结构
6.1.1线性表的定义
6.1.2线性表的基本操作
6.2线性表的顺序存储及运算实现
6.2.1顺序表
6.2.2顺序表上基本运算的实现
6.2.3顺序表应用举例
6.3线性表的链式存储和运算实现
6.3.1单链表
6.3.2单链表上基本运算的实现
6.3.3循环链表
6.3.4双向链表
6.3.5静态链表
6.3.6单链表应用举例
6.4顺序表和链表的比较
习题
第7章查找
7.1基本概念与术语
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平衡二叉树(AVL树)
7.3.3B-树和B+树
7.4哈希表查找(杂凑法)
7.4.1哈希表与哈希方法
7.4.2常用的哈希函数
7.4.3处理冲突的方法
7.4.4哈希表的查找分析
习题
第8章排序
8.1基本概念
8.2插入排序
8.2.1直接插入排序
8.2.2折半插入排序
8.2.3表插入排序
8.2.4希尔排序(Shell'sSort)
8.3交换排序
8.3.1冒泡排序(BubbleSort)
8.3.2快速排序
8.4选择排序
8.4.1简单选择排序
8.4.2树形选择排序
8.4.3堆排序(HeapSort)
8.5二路归并排序
8.6基数排序
8.6.1多关键码排序
8.6.2链式基数排序
8.7外排序
8.7.1外部排序的方法
8.7.2多路平衡归并的实现
习题
参考文献