第一部分 C++概述 2
第1章 The Visual Studio.NET C4+编译器(第7版) 2
1.1 Visual Studio.NET C++(第7版)的新增特性 2
1.2 推荐的软件和硬件环境 5
1.3 典型的Windows安装 5
1.4 文档 6
1.5 开发系统 7
1.6 工具和实用程序 8
1.7 重要的编译器特性 10
1.8 编译器选项 12
1.9 回顾与展望 14
第2章 开始使用MDE 15
2.1 启动Visual C++MDE 15
2.2 访问上下文相关的帮助文件 15
2.3 理解菜单 16
2.4 使工具栏停靠或浮动 17
2.5 自动隐藏 17
2.6 向前和向后导航 17
2.7 File菜单 17
2.8 Edit菜单 21
2.9 View菜单 25
2.10 Project菜单 28
2.11 Build菜单 29
2.12 Debug菜单 31
2.13 Tools菜单 33
2.14 Window菜单 35
2.15 Help菜单 36
2.16 回顾与展望 38
第3章 编写、编译和调试简单程序 39
3.1 打开Developer Studio 39
3.2 创建第一个程序 39
3.3 编辑源代码 44
3.4 保存文件 45
3.5 创建可执行文件 46
3.6 调试程序 47
3.7 运行第一个程序 53
3.8 高级调试技术 59
3.9 回顾与展望 62
第4章 Visual C++的高级特性 63
4.1 什么是标准模板库 63
4.2 Microsoft的新语言:C 69
4.3 回顾与展望 80
第二部分 程序设计基础 82
第5章 C++基础 82
5.1 先从C语言开始 82
5.2 C语言的历史 82
5.3 美国国家标准化组织:ANSIC 88
5.4 从C到C++和面向对象编程 89
5.5 C++的历史 89
5.6 C/C++程序的基本组件 94
5.7 回顾与展望 108
第6章 操作数据 109
6.1 标识符 109
6.2 关键字 111
6.3 标准的C和C++数据类型 112
6.4 访问修饰符 119
6.5 pascal、cdecl、near、far和huge修饰符 122
6.6 数据类型转换 124
6.7 存储类别 128
6.8 运算符 132
6.9 理解运算符优先级 139
6.10 标准的C和C++库 140
6.11 回顾与展望 141
第7章 程序控制 142
7.1 条件控制语句 142
7.2 循环控制 157
7.3 回顾与展望 173
第8章 编写和使用函数 175
8.1 什么是函数原型 175
8.2 函数变元 181
8.3 函数返回类型 191
8.4 命令行变元 198
8.5 C中的函数和C++中的函数 202
8.6 与函数无关的问题 206
8.7 回顾与展望 211
第9章 处理数组 212
9.1 什么是数组 212
9.2 数组属性 212
9.3 数组声明 213
9.4 初始化数组 214
9.5 访问数组元素 216
9.6 计算数组的维数 218
9.7 越界的数组下标 220
9.8 字符串的输出和输入 220
9.9 多维数组 223
9.10 作为函数变元的数组 226
9.11 字符串函数和字符数组 233
9.12 回顾与展望 237
第10章 使用指针 239
10.1 指针变量 239
10.2 函数指针 258
10.3 动态存储空间 260
10.4 深入研究指向数组的指针 265
10.5 C++引用类型 277
10.6 回顾与展望 279
第11章 C++中的I/O简介 280
11.1 使用C++I/0流 280
11.2 从stream.h到iostream 288
11.3 回顾与展望 299
第12章 结构、联合和其他类型 300
12.1 结构 300
12.2 联合 318
12.3 其他类型 320
12.4 回顾与展望 324
第13章 高级编程主题 325
13.1 类型兼容 325
13.2 宏 328
13.3 高级的预处理程序语句 332
13.4 条件编译 336
13.5 预处理程序运算符 337
13.6 正确使用头文件 338
13.7 更有效的头文件 339
13.8 预编译头文件 340
13.9 climits和cfloat 341
13.10 使用perror()处理错误 342
13.11 链表和动态内存分配 343
13.12 回顾与展望 347
第14章 使用C和C++库增加编程效率 348
14.1 重要的C和C++头文件 348
14.2 标准库函数(cstdlib) 348
14.3 字符函数(cctype) 356
14.4 字符串函数(cstring) 361
14.5 数学函数(cmath) 369
14.6 时间函数(ctime) 372
14.7 回顾与展望 378
第三部分 面向对象程序设计基础 380
第15章 面向对象程序设计基础 380
15.1 保持原有概念 381
15.2 传统的结构化程序设计 382
15.3 面向对象程序设计 382
15.4 C++与面向对象程序设计 383
15.5 面向对象的术语 383
15.6 初识C++类 386
15.7 回顾与展望 394
第16章 使用C++类进行编程 395
16.1 类的具体特性 395
16.2 运算符重载 410
16.3 派生类 413
16.4 回顾与展望 418
第17章 C++中的全部I/O 419
17.1 在C++中使用枚举类型 419
17.2 引用变量 420
17.3 默认参数 422
17.4 memset()函数 423
17.5 格式化输出 424
17.6 I/O选项 428
17.7 iostream类列表 429
17.8 二进制文件 440
17.9 综合使用C和C++代码 441
17.10 设计惟一的操纵算子 443
17.11 回顾与展望 449
第18章 面向对象环境中的工作 450
18.1 面向对象的堆栈 450
18.2 C++中的面向对象链表 453
18.3 回顾与展望 469
第19章 模板和标准模板库 470
19.1 STL近期的发展 470
19.2 利用ST L 470
19.3 ANSI C/C++委员会 471
19.4 STL的构成 471
19.5 结构之外的模板 474
19.6 STL:比模板的功能更强 477
19.7 <vector>模板 477
19.8 回顾与展望 491
第四部分 WindoWS与向导 494
第20章 Windows应用程序的概念和工具 494
20.1 Windows的基本内容 494
20.2 Windows编程的概念及词汇 501
20.3 Visual C++的Windows开发工具 512
20.4 回顾与展望 526
第21章 使用向导编写面向过程的Windows应用程序 527
21.1 Windows应用程序的框架 527
21.2 使用应用程序向导创建一个面向过程的工程 537
21.3 一个完整的Windows程序 540
21.4 另外一个实用的工程 545
21.5 创建一个饼形图应用程序 551
21.6 回顾与展望 566
第22章 Microsoft基础类库的基本概念 567
22.1 基础类库存在的必要性 567
22.2 MFC设计需要考虑的事项 568
22.3 MFC库的关键特性 568
22.4 从CObject开始 569
22.5 主要的MFC类 572
22.6 一个MFC的字处理应用程序 576
22.7 回顾与展望 594
第23章 向导和MFC的WindowS应用程序 595
23.1 在客户区域内绘图 595
23.2 具有资源的Fourier级数应用程序 608
23.3 使用资源的条形图表 625
23.4 回顾与展望 647
第五部分 高级编程概念 650
第24章 C#Windows应用程序 650
24.1 创建C#Windows应用程序:CircleArea 650
24.2 事件响应 661
24.3 利用代码改变属性 662
24.4 创建C#Windows应用程序:Tester 663
24.5 回顾与展望 667
第25章 STL与Windows 668
25.1 复数 668
25.2 <complex>模板语法 669
25.3 简单的<complex>应用程序 674
25.4 使用STL与MFC创建Windows应用程序 676
25.5 小结 682
第26章 初识OLE 683
26.1 OLE的特性与规范 683
26.2 开发容器应用程序 689
26.3 测试容器应用程序 703
26.4 回顾与展望 705
第27章 ActiveX控件 706
27.1 ActiveX控件 706
27.2 包含ActiveX控件的容器 715
27.3 设计一个简单的ActiveX控件 715
27.4 定制基本控件 726
27.5 测试已完成的控件 738
27.6 小结 739
第28章 动态链接库 740
28.1 基于MFC的动态链接库 740
28.2 调用DLL的应用程序 745
28.3 小结 749
第29章 Web表单设计 750
29.1 Web控件 750
29.2 回顾与展望 771
第六部分 附录 774
附录A 扩展后的ASCII代码表 774
附录B DOS 10H、21 H和33H中断参数 778