第1章 C++概述 1
1.1 C++程序设计语言 1
1.2 C++程序开发过程 4
1.2.1 编辑 4
1.2.2 编译 5
1.2.3 连接 5
1.2.4 运行 5
1.2.5 C++程序 5
1.3 C++程序的结构与组成 9
1.3.1 声明区 9
1.3.2 主程序区 9
1.3.3 函数定义区 9
1.3.4 程序举例 10
典型题分析 12
小结 13
习题 13
第2章 数据类型、运算符和表达式 15
2.1 数据类型 15
2.1.1 基本数据类型 15
2.1.2 结构数据类型 17
2.1.3 常量 26
2.1.4 变量 28
2.2 运算符和表达式 29
2.2.1 运算符 29
2.2.2 运算符的优先级与结合性 32
2.2.3 表达式 33
典型题分析 36
小结 37
习题 37
第3章 语句和函数 40
3.1 赋值语句 40
3.2 选择语句 42
3.2.1 if语句 42
3.2.2 switch语句 45
3.3 循环语句 46
3.3.1 while循环语句 46
3.3.2 for循环语句 48
3.3.3 三种循环的比较 49
3.3.4 转移语句 49
3.4 预处理功能 51
3.5 函数的定义和声明 54
3.5.1 函数的定义 54
3.5.2 函数的声明 56
3.5.3 函数的调用 58
3.5.4 函数的嵌套调用 60
3.5.5 函数的递归调用 62
3.6 函数的参数传递 64
3.6.1 函数的传值参数 64
3.6.2 函数的引用参数 65
3.7 函数的返回值 67
3.8 内联函数 68
3.9 带默认参数的函数 69
3.10 局部变量和全局变量 70
3.10.1 局部变量 70
3.10.2 全局变量 71
典型题分析 72
小结 73
习题 73
第4章 指针类型 77
4.1 指针 77
4.1.1 指针的概念 77
4.1.2 指针的运算 79
4.2 指针类型与指针变量 81
4.3 指针与数组 82
4.4 指针与字符串 89
4.5 指针与函数 92
4.6 const指针 94
典型题分析 96
小结 98
习题 98
第5章 类与对象 102
5.1 类与对象 102
5.1.1 类与对象的定义 102
5.1.2 对象与类的使用 108
5.2 构造函数和析构函数 110
5.2.1 构造函数 110
5.2.2 构造函数的重载 112
5.2.3 默认构造函数与缺省参数的构造函数 113
5.2.4 拷贝构造函数 115
5.2.5 析构函数 116
5.2.6 构造函数与析构函数的调用顺序 118
5.3 静态成员 120
5.3.1 静态数据成员 120
5.3.2 静态成员函数 122
5.4 友元 124
5.4.1 友元函数 124
5.4.2 友元类 126
5.5 模板 128
5.5.1 模板的定义 128
5.5.2 模板的使用 130
典型题分析 132
小结 134
习题 134
第6章 继承与派生 138
6.1 继承与派生 138
6.1.1 继承 138
6.1.2 派生类 139
6.1.3 派生类的构造函数和析构函数 140
6.1.4 基类与派生类之间的关系 142
6.2 单继承 144
6.3 多继承 146
6.4 派生关系中的二义性 149
6.5 虚基类 151
典型题分析 154
小结 157
习题 157
第7章 多态与虚函数 163
7.1 函数重载 163
7.2 运算符重载 166
7.2.1 运算符重载规则 167
7.2.2 运算符重载为成员函数 168
7.2.3 运算符重载为友元函数 169
7.3 静态联编与动态联编 171
7.4 虚函数 174
7.4.1 虚函数的定义 174
7.4.2 纯虚函数与抽象类 180
典型题分析 182
小结 184
习题 185
第8章 C++流与文件 188
8.1 输入/输出流的概念 188
8.2 格式化输入和输出 191
8.3 文件 194
8.3.1 流式文件的I/O函数 194
8.3.2 文件的打开和关闭 199
8.3.3 文件的读写 202
典型题分析 207
小结 209
习题 209
参考文献 212