第1章 简介C/C++程序语言 1
1.1 了解程序语言 1
1.2 简介C/C++ 4
1.3 Linux下的程序开发环境 7
第2章 Hello C++与程序的纠错 13
2.1 建立Hello C++程序 13
2.2 程序编写的基本观点 15
2.3 程序的纠错 20
2.4 学习程序的窍门 22
3.1 变量的概念 23
第3章 变量、数据类型与常数 23
3.2 数据类型 24
3.3 未设定初值的变量值 36
3.4 变量命名的限制 37
3.5 匈牙利命名法 38
3.6 变量的有效范围 41
3.7 常数、自定义常数与#define 44
3.8 从屏幕读入变量数据 48
第4章 运算符与表达式 50
4.1 名词解释 50
4.2.1 指派运算符 51
4.2 运算符 51
4.2.2 算术运算符 52
4.2.3 比较运算符 55
4.2.4 逻辑运算符 57
4.2.5 ++、--与sizeof运算符 61
4.2.6 逗号运算符 66
4.2.7 条件运算符 66
4.3 表达式的计算 69
4.3.1 运算符的优先级 69
4.3.2 表达式的运算规则 70
4.4.1 隐式类型转换 72
4.4 表达式中的类型转换 72
4.4.2 显式类型转换 75
第5章 流程控制 77
5.1 判断式与循环 77
5.2 if-else if-else判断式 78
5.3 switch-case判断式 87
5.4 for循环 90
5.5 while循环 96
5.6 do-while循环 100
5.7 break、continue、return、goto语句 104
第6章 数组 111
6.1 一维数组 111
6.2 二维数组 120
6.3 多维数组 125
第7章 指针 127
7.1 变量 127
7.2 指针的声明与使用 130
7.3 指针的指针 140
7.4.1 数组与指针计算 142
7.4 指针与数组 142
7.4.2 指向数组的指针 148
7.5 字符串数组 153
7.6 以动态内存初始设定指针 158
7.7 const修饰词与指针变量 159
第8章 函数 164
8.1 函数与程序的关系 164
8.2 函数的建立 166
8.3 自变量的传递 171
8.4 数据的返回 195
8.5 运用define指令建立宏函数 205
8.6 递归函数 209
8.7 函数指针 215
8.8 参数默认值 221
第9章 动态内存的配置 224
9.1 数组的动态配置 224
9.2 动态二维数组与指针的指针 228
第10章 自定义数据类型 233
10.1 自定义数据类型typedef 233
10.2 结构类型struct 235
10.3 列举类型enum 240
11.1 对象导向的观点与C++ 246
第11章 对象导向 246
11.2 对象导向的基本观点 247
11.3 计算机的虚拟世界 249
11.4 用对象导向观点仿真世界 251
11.5 对象导向系统的运作机制 252
第12章 Hello C++! 254
12.1 Hello C++范例 254
12.2 建立类别 255
12.3 建立对象 259
12.4 信息——声明对象的成员函数 259
13.1 数据隐藏的实践——对象的封装 260
第13章 类别与对象 260
13.2 对象的建立与成员存取 261
13.3 存取权限的控制——类别中成员的分级 263
13.4 对象的生命周期 266
13.5 const、mutable的使用 282
13.6 静态类别成员 293
13.7 指针与对象 297
13.8 对象参数的传递 300
13.9 重载运算符——对象的运算 306
13.10 朋友类别与朋友函数 324
13.11 类别的前置声明 327
第14章 类别的继承——程序代码的再用 331
14.1 继承的意义 331
14.2 C++的继承机制 334
14.3 基础类别对象与衍生类别对象的类型转换 372
14.4 多重继承 378
14.5 继承的进一步探讨 391
第15章 结合关系与执行 392
15.1 结合的意义 392
15.2 组合关系的执行 394
16.1 信息与多态 408
第16章 信息与对象间的对话 408
16.2 静态的多态 411
16.3 动态的多态 417
第17章 模板 440
17.1 模板的观点 440
17.2 模板函数 448
17.3 多参数模板 450
17.4 运用typeid判断套用模板的数据类型 451
第18章 数据流与文件的输出/入 453
18.1 简介数据流 453
18.2 数据流的格式控制 455
18.3 文件的输出/入 466
第19章 标准字符串类别 484
19.1 标准字符串类别简介 484
19.2 字符串对象的操作 484
第20章 例外处理 490
20.1 例外处理简介 490
20.2 例外处理的机制 491
第21章 命名空间 500
21.1 命名空间存在的原因 500
21.2 命名空间的定义 501
21.3 命名空间的使用 504
第22章 标准模板链接库 517
22.1 认识STL 517
22.2 容器与指位器 518
22.3 序列容器 521
22.4 关联容器 532
22.5 算法 538
22.6 函数对象 549
22.7 其他指位器 554
23.1 模块的概念 559
第23章 模块化开发、自定义标头文件、条件式编译、批次编译与版本管理 559
23.2 自定义标头文件 560
23.3 条件式编译 562
23.4 批次编译Makefile文件与make指令 572
23.5 版本管理 575
第24章 图书管理系统范例 582
24.1 图书管理系统的发展 582
24.2 图书管理系统的构建 590
第25章 Linux环境下的窗口程序设计简介 609
25.1 Linux环境下的窗口程序开发 609
25.2 窗口程序设计的基本观点 611
25.3 如何编写窗口程序 612
第26章 Hello wxWindows——窗口程序设计初体验 615
26.1 建立窗口程序的基本观点 615
26.2 你的第一个窗口程序 617
第27章 自定义窗口框架 621
27.1 自定义窗口框架对象 621
27.2 MyFrame程序范例 622
27.3 菜单 625
27.4 状态栏 630
28.1 窗口事件的传递与处理 634
第28章 窗口的事件处理 634
28.2 事件程序范例 637
28.3 事件映像表与响应函数的建立 642
28.4 利用鼠标绘图 643
28.5 对话框的使用与窗口的关闭 646
第29章 对话框与控件 649
29.1 自定义对话框对象 649
29.2 对话框程序范例 650
29.3 自定义对话框 657
29.4 控件 665
附录 ASCII码 674