第1章 C++语言基础 1
1.1 面向对象的特征 1
1.1.1 什么是面向对象 1
1.1.2 C++面向对象的特征 2
1.2 C++应用程序的组成 3
1.2.1 头文件 3
1.2.2 实现文件 6
1.2.3 C++程序的内存空间分配 12
1.3 C++程序的基本框架 13
1.4 C++程序的开发 15
1.5 语法格式中符号的约定 17
1.6 C++语言的词汇 18
1.7 C++输入与输出简介 21
1.8 注释 25
本章小结 26
本章实践 26
第2章 数据类型与表达式 28
2.1 数据类型 28
2.1.1 数据类型 28
2.1.2 变量定义和符号常量 30
2.1.3 整型数据 35
2.1.4 浮点型 37
2.1.5 逻辑型 39
2.1.6 字符型与字符串 39
2.1.7 空值型 42
2.2 操作符与表达式 42
2.2.1 操作符 42
2.2.2 算术操作符与表达式 43
2.2.3 逗号操作符与表达式 49
2.2.4 sizeof操作符与表达式 50
2.2.5 圆括号操作符 50
2.2.6 操作符的优先级与结合性 51
本章小结 54
本章实践 55
第3章 顺序结构 56
3.1 基本控制结构 56
3.2 赋值表达式 58
3.3 语句 61
本章小结 64
本章实践 64
第4章 分支结构 66
4.1 关系表达式 66
4.2 逻辑表达式 67
4.3 位表达式 69
4.4 基本if语句 72
4.5 if…else语句 74
4.6 if语句的嵌套 75
4.7 条件表达式 78
4.8 switch语句 79
本章小结 83
本章实践 84
第5章 循环结构 86
5.1 循环概述 86
5.2 while语句 86
5.3 do…while语句 90
5.4 for语句 91
5.5 三种循环的比较与循环嵌套 94
5.6 跳转语句 96
本章小结 101
本章实践 101
第6章 函数 104
6.1 函数定义 104
6.1.1 函数定义的格式 104
6.1.2 编写函数的规范 110
6.2 函数调用 113
6.2.1 函数调用格式 113
6.2.2 函数参数传递 117
6.3 变量的使用方式 123
6.3.1 全局变量和局部变量 123
6.3.2 变量的存储类别 125
6.3.3 作用域与生存期 130
6.4 内部函数与外部函数 133
6.5 函数重载与递归函数 134
6.5.1 函数重载 134
6.5.2 递归函数 136
6.6 内联函数 138
本章小结 139
本章实践 140
第7章 数组 143
7.1 一维数组 143
7.2 二维数组 149
7.3 多维数组 155
7.4 字符数组 156
7.5 main函数的参数 164
本章小结 165
本章实践 166
第8章 指针与引用 168
8.1 指针变量 168
8.2 指针和数组 175
8.3 结构体与指针 182
8.4 函数与指针 185
8.5 常量与指针 189
8.6 引用 192
本章小结 197
本章实践 199
第9章 类和对象 202
9.1 类与对象 202
9.2 构造函数和析构函数 223
9.2.1 构造函数与默认构造函数 223
9.2.2 析构函数 231
9.2.3 复制构造函数 235
9.3 静态成员 242
9.4 常成员 248
9.5 友元 258
9.6 对象的应用 260
9.6.1 成员对象 260
9.6.2 指向类成员的指针 260
9.6.3 对象数组 261
9.6.4 对象指针 262
本章小结 263
本章实践 264
第10章 继承和派生 268
10.1 继承与派生 268
10.2 派生类对基类的成员的访问 273
10.3 派生类的构造函数和析构函数 278
10.4 多继承与虚基类 285
10.4.1 多继承 285
10.4.2 虚继承与虚基类 291
10.5 虚函数与抽象类 296
10.5.1 虚函数 296
10.5.2 纯虚函数 306
10.5.3 抽象类 307
本章小结 309
本章实践 311
第11章 运算符重载 313
11.1 运算符的重载 313
11.1.1 运算符重载的定义 313
11.1.2 运算符重载遵循的规则 314
11.1.3 运算符重载的形式 316
11.1.4 一些说明 323
11.2 典型运算符的重载 324
11.2.1 一元运算符重载 324
11.2.2 二元运算符重载 329
11.2.3 重载类型转换符 330
11.2.4 重载C++流运算符 332
本章小结 333
本章实践 333
第12章 模板 337
12.1 函数模板 337
12.1.1 函数模板声明 337
12.1.2 模板函数 341
12.1.3 函数模板的调用 342
12.1.4 非类型参数 344
12.1.5 函数模板的重载 345
12.1.6 变长模板 347
12.2 类模板 348
12.2.1 类模板的声明与定义 348
12.2.2 类模板的实例化 357
本章小结 361
本章实践 362
第13章 输入输出流 364
13.1 C++流的概念 364
13.1.1 文件的基本概念 364
13.1.2 C++的流 365
13.1.3 文件操作的一般步骤 366
13.2 C++文件流 366
13.2.1 文件流的建立 367
13.2.2 文件流的定位 371
13.2.3 读写文件 374
13.2.4 格式输入输出 379
本章小结 387
本章实践 388
参考文献 390