图书目录

第1部分?C++语言基础

第1章?程序与主函数 3

1.1  程序及其表示 3

1.1.1 计算机 3

1.1.2  计算机程序 4

1.1.3  程序设计语言 5

1.2  C++介绍 5

1.2.1  C语言 6

1.2.2  C++语言 6

1.2.3  C++应用领域 7

1.3  简单的C++程序示例 7

1.3.1  仅包含输出的程序 7

1.3.2  包含输入、处理、输出

???的程序 8

1.3.3  包含自定义函数的程序 9

1.3.4  主函数 10

1.4  C++开发环境 11

1.4.1  程序开发过程 11

1.4.2  本地开发环境 11

1.4.3  在线判题系统 14

1.4.4  编译错误信息 15

1.5  小结 16

1.5.1  思维导图 16

1.5.2  思维模式 16

1.5.3  逻辑结构 17

练习 17

第2章?基本类型与变量 19

2.1  一个C++程序例子 19

2.2  词法元素 21

2.2.1  字符集 21

2.2.2  注释 21

2.2.3  标识符 22

2.2.4  保留字 22

2.2.5  运算符 23

2.2.6  分隔符 23

2.3  C++数据类型 23

2.3.1  概述 23

2.3.2  类型修饰符 23

2.3.3  常用基本数据类型 25

2.4  变量 26

2.4.1  变量的定义与初始化 26

2.4.2  整型变量 28

2.4.3  浮点型变量 29

2.4.4  字符型变量 31

2.4.5  逻辑型变量 31

2.5  常量 32

2.5.1  整型数 32

2.5.2  浮点型数 33

2.5.3  字符 33

2.5.4  字符串 35

2.5.5  const常量 35

2.6  输入与输出 37

2.6.1  cin与cout对象的

???使用 37

2.6.2  格式控制 38

2.7  C++编码风格 41

2.8  小结 42

2.8.1  思维导图 42

2.8.2  思维模式 42

2.8.3  逻辑结构 43

练习 43

第3章?运算符与表达式 46

3.1  分类和规则 46

3.1.1  运算符的分类 46

3.1.2  表达式运算规则 47

3.2  算术运算与赋值 49

3.2.1  算术运算 49

3.2.2  赋值与复合赋值 51

3.2.3  自增和自减 52

3.3  关系运算 54

3.4  逻辑运算 55

3.5  类型转换 56

3.5.1  隐式类型转换 56

3.5.2  显式类型转换 57

3.6  位运算 58

3.7  逗号运算 60

3.8  条件运算 60

3.9  小结 61

3.9.1  思维导图 61

3.9.2  思维模式 61

3.9.3  逻辑结构 62

练习 62

第4章?流程控制 65

4.1  基本概念 65

4.1.1  语句 65

4.1.2  用流程图表示算法 66

4.2  顺序结构 67

4.3  选择结构 68

4.3.1  if语句 68

4.3.2  switch语句 73

4.4  循环结构 75

4.4.1  while循环语句 76

4.4.2  do-while循环语句 77

4.4.3  for循环语句 79

4.5  其他控制语句 81

4.5.1  break与continue

???语句 81

4.5.2  goto语句 84

4.6  循环嵌套 85

4.7  综合应用 86

4.8  小结 90

4.8.1  思维导图 90

4.8.2  思维模式 90

4.8.3  逻辑结构 92

练习 92

  

第2部分?C++过程化编程

第5章?函数 99

5.1  函数的分类 99

5.2  自定义函数 100

5.2.1  函数定义 101

5.2.2  函数调用 102

5.2.3  函数原型 105

5.3  函数的嵌套调用与递归调用 106

5.3.1  函数的嵌套调用 106

5.3.2  递归调用 106

5.4  函数的特殊形式 109

5.4.1  内联函数 109

5.4.2  函数重载 110

5.4.3  默认参数 112

5.5  小结 115

5.5.1  思维导图 115

5.5.2  思维模式 115

5.5.3  逻辑结构 115

练习 115

第6章?多文件 120

6.1  跨文件访问变量 120

6.1.1  变量的作用域和可

???见性 120

6.1.2  变量的生命期 124

6.2  跨文件调用函数 129

6.2.1  外部函数 128

6.2.2  静态函数 129

6.3  多文件结构 130

6.3.1  头文件 130

6.3.2  预处理指令 131

6.3.3  多文件结构示例 132

6.4  小结 133

6.4.1  思维导图 133

6.4.2  思维模式 133

6.4.3  逻辑结构 134

练习 135

第7章?数组 139

7.1  一维数组 139

7.1.1  一维数组定义 139

7.1.2  一维数组初始化 140

7.1.3  一维数组元素的

???访问 140

7.1.4  一维数组作为函数

???参数 141

7.2  二维数组 142

7.2.1  二维数组定义 142

7.2.2  二维数组初始化 143

7.2.3  二维数组元素的

???访问 143

7.2.4  二维数组作为函数

???参数 144

7.3  字符数组 145

7.3.1  C风格字符串 145

7.3.2  字符数组 145

7.3.3  字符串函数 147

7.4  数组排序 147

7.4.1  冒泡排序 148

7.4.2  插入排序 149

7.5  小结 150

7.5.1  思维导图 150

7.5.2  思维模式 150

7.5.3  逻辑结构 152

练习 152

第8章?指针 155

8.1  指针变量 155

8.1.1  指针定义 156

8.1.2  指针初始化和赋值 156

8.1.3  用指针间接访问 156

8.2  指针与数组 157

8.2.1  指针运算 157

8.2.2  用指针访问数组

???元素 159

8.2.3  字符指针 160

8.3  指针与函数 161

8.3.1  数组以指针参数

???传递 161

8.3.2  修改主调函数中

???变量 162

8.3.3  指针函数 164

8.3.4  void指针参数 164

8.4  指针与堆内存 165

8.4.1  free和malloc 165

8.4.2  new和delete 166

8.5  小结 167

8.5.1  思维导图 167

8.5.2  思维模式 167

8.5.3  逻辑结构 169

练习 169

第9章?引用与结构体 171

9.1  引用 171

9.1.1  引用定义和初始化 171

9.1.2  引用访问 172

9.1.3  引用作为函数参数 172

9.2  结构体 174

9.2.1  结构体类型 174

9.2.2  结构体变量 175

9.2.3  结构体指针 176

9.2.4  结构体数组 177

9.2.5  结构体引用 178

9.2.6  数据类型小结 180

9.3  结构体应用:链表 180

9.3.1  链表概念 180

9.3.2  链表实现 181

9.4  综合应用 184

9.4.1  图书管理系统V1

???分析 184

9.4.2  图书管理系统V1

???实现 185

9.4.3  图书管理系统V1

???运行 188

9.5  小结 190

9.5.1  思维导图 190

9.5.2  思维模式 190

9.5.3  逻辑结构 190

练习 192

  

第3部分?C++面向对象编程

第10章?类与对象 199

10.1  类与对象 199

10.2  类定义 200

10.2.1  结构体与类 200

10.2.2  类定义 200

10.2.3  成员函数定义 201

10.3  对象定义与使用 202

10.3.1  对象定义 202

10.3.2  成员函数调用 202

10.3.3  指针、引用和

??? 数组 203

10.4  多文件结构 205

10.5  面向对象编程特征:封装 206

10.6  小结 207

10.6.1  思维导图 207

10.6.2  思维模式 207

10.6.3  逻辑结构 208

练习 208

第11章?C++标准库 210

11.1  组织结构 210

11.2  命名空间 211

11.2.1  标准命名空间 211

11.2.2  自定义命名空间 212

11.3  字符串string类 213

11.3.1  创建对象 213

11.3.2  输入/输出 214

11.3.3  常用操作 215

11.4  动态数组vector类 216

11.4.1  创建对象 216

11.4.2  常用操作 217

11.5  基于范围的for循环 218

11.6  小结 220

11.6.1  思维导图 220

11.6.2  思维模式 220

11.6.3  逻辑结构 220

练习 221

第12章?构造函数 222

12.1  构造函数 222

12.1.1  无参构造函数 222

12.1.2  重载构造函数 223

12.1.3  this指针 225

12.2  析构函数 226

12.2.1  调用顺序 226

12.2.2  自定义析构函数 228

12.3  构造函数初始化列表 229

12.3.1  必要性 229

12.3.2  对象构造顺序 231

12.4  拷贝构造函数 233

12.4.1  默认拷贝构造

??? 函数 233

12.4.2  自定义拷贝构造

??? 函数 234

12.5  综合应用 236

12.5.1  图书管理系统V2

??? 分析 236

12.5.2  图书管理系统V2

??? 实现 236

12.5.3  图书管理系统V2

??? 运行 242

12.6  小结 243

12.6.1  思维导图 243

12.6.2  思维模式 243

12.6.3  逻辑结构 244

练习 244

第13章?静态成员与友元 247

13.1  静态成员 247

13.1.1  静态数据成员 247

13.1.2  静态成员函数 250

13.2  友元 252

13.2.1  友元函数 252

13.2.2  友元类 255

13.3  小结 256

13.3.1  思维导图 256

13.3.2  思维模式 256

13.3.3  逻辑结构 257

练习 257

第14章?运算符重载 260

14.1  何为运算符重载 260

14.2  运算符重载的规则 261

14.3  成员函数实现重载 262

14.4  友元函数实现重载 263

14.5  常用运算符重载 264

14.5.1  赋值运算符 265

14.5.2  提取和插入运

??? 算符 267

14.6  小结 270

14.6.1  思维导图 270

14.6.2  思维模式 270

14.6.3  逻辑结构 271

练习 272

第15章?继承与多态 273

15.1  继承 273

15.1.1  继承的概念 273

15.1.2  继承方式 276

15.2  派生类 277

15.2.1  构造函数 277

15.2.2  析构函数 279

15.2.3  组合与继承 280

15.3  多态 283

15.3.1  多态概念 283

15.3.2  向上转型 284

15.3.3  虚函数 286

15.4  抽象类 290

15.4.1  纯虚函数 290

15.4.2  抽象类的使用 291

15.5  小结 292

15.5.1  思维导图 292

15.5.2  思维模式 293

15.5.3  逻辑结构 294

练习 294

  

第4部分  C++泛型编程

第16章?模板 299

16.1  模板概述 299

16.1.1  模板的概念 299

16.1.2  模板的分类 299

16.1.3  模板的实例化 300

16.2  函数模板 300

16.2.1  函数模板定义 300

16.2.2  函数模板使用 301

16.2.3  函数模板和函数

??? 重载 302

16.3  类模板 304

16.3.1  类模板定义 304

16.3.2  成员函数定义 305

16.3.3  类模板使用 305

16.4  标准模板库 307

16.4.1  容器 307

16.4.2  泛型算法 308

16.5  小结 311

16.5.1  思维导图 311

16.5.2  思维模式 311

16.5.3  逻辑结构 311

练习 312

第17章?输入/输出流 314

17.1  组织结构 314

17.1.1  头文件组织 314

17.1.2  类的组织 315

17.2  标准流 316

17.2.1  标准输入 316

17.2.2  标准输出 316

17.3  文件流 318

17.3.1  打开文件 318

17.3.2  读写文件 320

17.3.3  读写位置控制 321

17.4  字符串流 322

17.5  综合应用 323

17.5.1  图书管理系统V3

??? 分析 323

17.5.2  图书管理系统V3

??? 实现 324

17.5.3  图书管理系统V3

??? 运行 330

17.6  小结 332

17.6.1  思维导图 332

17.6.2  思维模式 332

17.6.3  逻辑结构 333

练习 333

附录A?常见编译错误分析 334

A.1  编译错误 334

A.1.1  解决思路 334

A.1.2  实例分析 335

A.2  连接错误 344

A.2.1  解决思路 344

A.2.2  实例分析 344

附录B?Dev-C++程序调试 346

B.1?调试准备 346

B.1.1?设置编译选项 346

B.1.2?选择Debug模式 346

B.2?调试过程 347

B.2.1?设置断点 347

B.2.2?启动调试 347

B.2.3?单步执行 347

B.2.4?查看变量 348

B.2.5?结束调试 350

B.3?调试技巧 350

参考文献 351

C++程序设计简明教程

目录