第1章 C++程序设计概述 1
1.1 C++程序样例 1
1.2 C++程序的上机步骤 5
1.3 数据的标准输入输出 7
1.3.1 cout输出流对象 7
1.3.2 cin输入流对象 8
1.4 基本数据类型 8
1.5 常量与变量 9
1.5.1 常量 9
1.5.2 变量 12
1.6 运算符及表达式 13
1.6.1 基本算术运算符 14
1.6.2 算术表达式和运算符的优先级与结合性 14
1.6.3 表达式中各类数值型数据间的混合运算 14
1.6.4 自增和自减运算符 15
1.6.5 强制类型转换运算符 15
1.6.6 赋值运算符 16
1.6.7 赋值过程中的类型转换 16
1.6.8 复合赋值运算符 17
1.6.9 赋值表达式 17
1.6.10 逗号运算符与逗号表达式 18
1.7 实训任务 C++语言语法基础 19
第2章 程序设计结构 20
2.1 顺序结构 20
2.2 选择结构 21
2.2.1 关系运算符和关系表达式 21
2.2.2 逻辑常量和逻辑变量 22
2.2.3 逻辑运算符和逻辑表达式 22
2.2.4 选择结构和if语句 23
2.2.5 条件运算符和条件表达式 25
2.2.6 多分支选择结构和switch语句 26
2.2.7 编写选择结构的程序 27
2.3 循环结构 29
2.3.1 循环结构和循环语句 29
2.3.2 编写循环结构的程序 31
2.4 break语句和continue语句 32
2.5 实训任务 程序设计结构的应用 33
第3章 数组 34
3.1 数组的概念 34
3.2 一维数组 34
3.2.1 定义一维数组 34
3.2.2 引用一维数组的元素 35
3.2.3 一维数组的初始化 35
3.3 二维数组 36
3.3.1 定义二维数组 36
3.3.2 引用二维数组的元素 37
3.3.3 二维数组的初始化 37
3.4 字符数组 38
3.4.1 字符数组的定义和初始化 38
3.4.2 字符数组的赋值与引用 38
3.4.3 字符串和字符串结束标志 39
3.4.4 字符数组的输入输出 40
3.4.5 字符串处理函数 40
3.5 C++处理字符串的方法——字符串类与字符串变量 42
3.5.1 字符串变量的定义和引用 42
3.5.2 字符串变量的运算 43
3.5.3 字符串数组 43
3.6 案例解析 44
3.6.1 一维数组的应用 44
3.6.2 二维数组的应用 45
3.6.3 字符数组的应用 46
3.7 实训任务 数组的应用 46
第4章 函数 48
4.1 函数的概念 48
4.2 函数的定义与调用 49
4.2.1 定义无参函数的一般形式 49
4.2.2 定义有参函数的一般形式 50
4.2.3 函数参数和函数的返回值 50
4.2.4 函数的调用 51
4.3 局部变量和全局变量 54
4.3.1 局部变量 54
4.3.2 全局变量 55
4.4 “文件包含”处理 56
4.4.1 “文件包含”的作用 56
4.4.2 include命令的两种形式 57
4.4.3 关于C++标准库 57
4.5 案例解析 57
4.6 实训任务 函数的应用 59
第5章 指针与引用 60
5.1 地址指针的基本概念 60
5.2 变量的指针和指向变量的指针变量 61
5.2.1 定义一个指针变量 61
5.2.2 指针变量的引用 62
5.2.3 指针变量作为函数参数 64
5.2.4 指针变量几个问题的进一步说明 66
5.3 数组的指针和指向数组的指针变量 68
5.3.1 指向数组元素的指针 68
5.3.2 通过指针引用数组元素 69
5.3.3 数组名作函数参数 71
5.4 字符串的指针和指向字符串的指针变量 75
5.4.1 字符串的表示形式 75
5.4.2 使用字符串指针变量与字符数组的区别 77
5.5 引用 78
5.5.1 引用的说明 78
5.5.2 引用的简单使用 78
5.5.3 引用作为函数参数 79
5.6 案例解析 82
5.7 实训任务 指针与引用 84
第6章 类与对象 86
6.1 类的声明和对象的定义 87
6.1.1 类和对象的关系 87
6.1.2 声明类类型 87
6.1.3 定义对象的方法 89
6.2 类的成员函数 89
6.2.1 成员函数的性质 89
6.2.2 在类外定义成员函数 89
6.2.3 inline成员函数 90
6.3 对象成员的引用 91
6.3.1 通过对象名和成员运算符访问对象中的成员 91
6.3.2 通过指向对象的指针访问对象中的成员 91
6.3.3 通过对象的引用变量访问对象中的成员 91
6.4 类和对象的简单应用举例 92
6.5 构造函数 94
6.5.1 构造函数的定义与使用 94
6.5.2 用参数初始化表对数据成员初始化 96
6.5.3 构造函数的重载 96
6.5.4 使用默认参数的构造函数 97
6.6 对象数组 98
6.7 对象指针 99
6.8 静态成员 100
6.8.1 静态数据成员 100
6.8.2 静态成员函数成员 101
6.9 友元函数 103
6.10 实训任务 类与对象的应用 104
第7章 运算符重载 106
7.1 运算符重载方法及规则 106
7.2 运算符重载函数作为类成员函数和友元函数 110
7.3 重载双目运算符 113
7.4 重载单目运算符 115
7.5 重载流插入运算符和流提取运算符 116
7.6 实训任务 运算符重载的应用 119
第8章 继承与派生 120
8.1 继承与派生的概念 120
8.2 派生类的声明方式 121
8.3 派生类的构成 123
8.4 派生类成员的访问属性 124
8.4.1 公有继承 125
8.4.2 私有继承 126
8.4.3 保护成员和保护继承 127
8.5 派生类的构造函数 128
8.5.1 简单的派生类的构造函数 129
8.5.2 有子对象的派生类的构造函数 130
8.6 实训任务 继承与派生的应用 133
第9章 多态性与虚函数 135
9.1 多态性的概念 135
9.2 典型案例 135
9.3 虚函数 141
9.3.1 虚函数的作用 141
9.3.2 静态关联与动态关联 142
9.3.3 应当声明虚函数的情况 143
9.4 纯虚函数与抽象类 144
9.4.1 纯虚函数 144
9.4.2 抽象类 144
9.5 案例解析 145
9.6 实训任务 多态性与虚函数的应用 146
第10章 文件操作 147
10.1 输入输出的含义 147
10.2 C++的I/O类型安全和可扩展性 147
10.3 C++的输入输出流 148
10.3.1 iostream类库中有关的类 148
10.3.2 与iostream类库有关的头文件 149
10.4 文件操作与文件流 149
10.4.1 文件的概念 149
10.4.2 文件流类与文件流 150
10.4.3 文件的打开与关闭 151
10.4.4 对ASCII文件的操作 152
10.5 实训任务 文件操作的应用 159
第11章 异常处理结构 160
11.1 异常处理 160
11.1.1 异常处理的任务 160
11.1.2 异常处理的方法 160
11.2 实训任务异常处理结构的应用 166
附录 运算符的优先级别和结合性 167
参考文献 169