本书系统地介绍了C++面向对象程序设计中的类和对象、运算符重载、友元函数及模板类、继承与派生等知识,同时用面向对象的方式实现了顺序表、链表、二叉树等数据结构。本书结构清晰,语言通俗易懂,示例代码具有专业的编程风格;知识由浅入深、循序渐进,实例丰富,体现了程序设计和数据结构的紧密结合;且非常注重案例的选择和提炼,每个实例都附有运行结果,便于读者学习。
本书可作为高等院校“C++面向对象程序设计”课程的教材,也可作为计算机编程爱好者学习程序开发和编程技术的自学教材。
第1章 C++对C语言非面向对象特性的扩充
1.1 输入/输出、局部变量和const修饰符
1.2 内存管理、引用和作用域运算符
1.3 命名空间、头文件和函数使用
习题
第2章 类与对象
2.1 类与结构体的比较
2.2 类和类的版式
2.3 对象
2.4 构造函数和析构函数
2.5 类与对象应用实例
习题
第3章 函数及函数应用
3.1 函数应用实例
3.2 函数参数的规则
3.3 返回值的规则
3.4 函数内部实现的规则
3.5 关于函数的其他建议
习题
第4章 用面向对象程序实现线性表
4.1 相关基本概念
4.2 用类实现抽象数据类型SeqList线性表
4.3 用类实现抽象数据类型——堆栈
4.4 用类实现抽象数据类型——队列
习题
第5章 运算符重载、友元函数及模板类
5.1 函数重载的概念
5.2 成员函数的重载、覆盖与隐藏
5.3 参数的缺省值
5.4 静态成员与友元
5.5 运算符重载
5.6 模板
习题
第6章 指针与动态对象
6.1 new/delete 的使用要点
6.2 带动态对象的析构函数
6.3 赋值运算符重载
6.4 拷贝构造函数
6.5 动态数组
6.6 用类实现抽象数据类型——字符串
6.7 模式匹配
习题
第7章 用类实现链表
7.1 节点类
7.2 构造链表
7.3 设计链表类
7.4 类LinkedList
7.5 LinkedList类的实现
7.6 用链表实现集合
7.7 实例研究:打印缓冲池
7.8 循环表
7.9 双向链表
习题
第8章 用类实现二叉树
8.1 二叉树结构
8.2 设计TreeNode函数
8.3 树遍历算法的使用
8.4 二叉搜索树
8.5 二叉搜索树的使用
8.6 BinSTree 的实现
8.7 实例研究:索引
习题
第9章 继承与派生
9.1 类的继承
9.2 派生类继承方式
9.3 派生类的构造函数和析构函数
9.4 虚函数
习题
参考文献