第1章 概述 1
1.1 程序设计概述 1
1.1.1 计算机语言和程序 1
1.1.2 结构化程序设计 2
1.1.3 面向对象程序设计 2
1.2 C++语言简介 3
1.2.1 C++的起源和特点 3
1.2.2 开发过程 4
1.2.3 最简单的程序 4
1.3 C++程序上机步骤 5
1.3.1 Visual C++ 6.0上机指南 5
1.3.2 程序调试 7
本章小结 8
习题与上机 8
第2章 从C到C++ 10
2.1 C++的数据类型与输入输出 10
2.1.1 C++的数据类型 10
2.1.2 输入输出 10
2.2 表达式和语句 11
2.2.1 运算符与表达式 11
2.2.2 流程控制语句 12
2.3 数组 13
2.4 指针 15
2.4.1 指针与数组 15
2.4.2 指针与函数 16
2.5 内存的动态分配和释放 17
本章小结 18
习题与上机 19
第3章 函数 21
3.1 函数概述 21
3.1.1 函数的定义与声明 21
3.1.2 函数原型 22
3.2 函数的参数传递 23
3.3 内联函数和递归函数 25
3.4 具有默认参数的函数 27
3.5 函数重载 27
3.6 作用域和可见性 28
本章小结 30
习题与上机 30
第4章 类和对象 34
4.1 类 34
4.1.1 结构与类 34
4.1.2 类的定义 35
4.1.3 类的成员函数 35
4.1.4 类成员的访问控制 36
4.1.5 类的作用域 37
4.2 对象 38
4.2.1 对象的创建和撤销 38
4.2.2 构造函数 39
4.2.3 复制构造函数 42
4.2.4 析构函数 43
4.3 this指针 44
本章小结 46
习题与上机 46
第5章 类的其他特性 51
5.1 静态成员 51
5.1.1 静态数据成员 51
5.1.2 静态成员函数 52
5.2 友元 53
5.2.1 友元函数 53
5.2.2 友元类 54
5.3 常类型 56
5.4 类成员指针 58
5.5 类的组合 59
本章小结 61
习题与上机 61
第6章 类的继承和派生 65
6.1 继承的概念 65
6.2 派生类的继承方式 67
6.2.1 基类成员在派生类中的访问属性 67
6.2.2 派生类对基类成员的访问规则 68
6.3 派生类的构造和析构 72
6.4 调整基类成员在派生类中的访问属性 74
6.4.1 同名函数 74
6.4.2 访问声明 75
6.5 多重继承 78
6.5.1 多重继承的声明 78
6.5.2 多重继承的构造和析构 80
6.5.3 虚基类 80
6.6 赋值兼容性规则 85
本章小结 86
习题与上机 87
第7章 多态性和虚函数 96
7.1 多态性的基本概念 96
7.2 运算符重载 97
7.3 虚函数 101
7.3.1 虚函数的定义和使用 101
7.3.2 为什么虚函数可以做到动态绑定 102
7.3.3 虚函数的限制 106
7.4 纯虚函数和抽象类 107
7.4.1 纯虚函数 107
7.4.2 抽象类 108
本章小结 109
习题与上机 109
第8章 模板 114
8.1 模板的概念 114
8.2 函数模板与模板函数 115
8.2.1 函数模板声明和模板函数使用 115
8.2.2 重载函数模板 116
8.3 类模板和模板类 118
8.3.1 类模板的定义 118
8.3.2 使用类模板 119
本章小结 120
习题与上机 120
第9章 I/O流 123
9.1 C++的流及流类库 123
9.1.1 C++的流 123
9.1.2 流类库 124
9.2 预定义类型的输入输出 125
9.2.1 无格式输入输出 125
9.2.2 输入输出的格式控制 126
9.3 文件的输入输出 129
9.3.1 文件的打开与关闭 129
9.3.2 文件的读写 130
本章小结 131
习题与上机 131
第10章 异常处理 134
10.1 异常的概念 134
10.2 异常处理的实现 135
10.3 异常处理的规则 136
10.4 基于对象的异常处理 138
10.5 异常的重抛出 141
本章小结 141
习题与上机 142
第11章 综合案例 145
11.1 五子棋游戏 145
11.1.1 功能描述 145
11.1.2 类的设计 145
11.1.3 数据结构设计 147
11.1.4 程序实现 148
11.2 图像处理DIY 156
11.2.1 预备知识 156
11.2.2 打开BMP格式图像文件的步骤 157
11.2.3 数字图像点处理 159
11.2.4 数字图像区域处理 162
本章小结 166
附录A C++语言中的关键字(保留字) 168
附录B 运算符优先级表 169
附录C 基本ASCII码字符 170
附录D Windows位图结构数据域的含义 171
参考文献 172