目录 1
第1章 C++语言概述 1
1.1 C++语言的发展历史 1
1.1.1 程序设计语言的分类 1
1.1.2 C++语言的发展历史 3
1.2 C++语言的特点 4
1.2.1 程序设计方法 4
1.2.2 C++语言的特色 6
1.3 使用VS.NET调试C++程序 6
1.3.1 什么是VS.NET 6
1.3.2 第一个C++程序 8
1.4 习题 16
第2章 数据类型、运算符和表达式 17
2.1 基本数据类型 17
2.1.1 整型 19
2.1.2 字符型 20
2.1.3 浮点型 21
2.1.4 布尔型 22
2.1.5 空型 23
2.2 常量和变量 23
2.2.1 常量 24
2.2.2 变量 26
2.3 输入输出 29
2.3.1 cout 30
2.3.2 cin 32
2.4 运算符和表达式 33
2.4.1 算术运算符和算术表达式 33
2.4.2 关系运算符与关系表达式 36
2.4.3 逻辑运算符和逻辑表达式 37
2.4.4 位运算符和位运算表达式 38
2.4.5 赋值运算符和赋值表达式 42
2.4.6 逗号运算符 43
2.4.7 sizeof运算符 44
2.5 数据类型的转换 45
2.5.1 赋值运算中的数据类型转换 45
2.5.2 表达式中的数据类型转换 46
2.6.1 结构体 47
2.6 构造数据类型 47
2.6.2 共用体 50
2.6.3 枚举 52
2.6.4 自定义数据类型 53
2.7 习题 54
第3章 控制结构 56
3.1 顺序结构 56
3.2 选择结构 57
3.2.1 if语句 57
3.2.2 switch语句 61
3.3 循环结构 65
3.3.1 while语句 65
3.3.2 do-while语句 67
3.3.3 for语句 68
3.3.4 goto语句 72
3.3.5 break和continue 72
3.4 程序设计举例 74
3.5 习题 79
第4章 函数和预处理命令 80
4.1 函数 80
4.1.1 函数的定义 80
4.1.2 函数的调用 82
4.1.3 函数的参数与函数的返回值 84
4.1.4 函数的嵌套调用与递归调用 88
4.1.5 局部变量和全局变量 91
4.1.6 存储类别 95
4.1.7 函数原型 100
4.2 预处理命令 101
4.2.1 宏定义 102
4.2.2 文件包含 104
4.2.3 条件编译 104
4.2.4 程序设计实例 107
4.3 习题 112
第5章 数组、字符串和指针 113
5.1 数组 113
5.1.1 一维数组 114
5.1.2 二维数组和多维数组 119
5.2.1 字符数组和字符串 121
5.2 字符串 121
5.2.2 标准字符串库函数 123
5.2.3 字符串数组 126
5.2.4 字符串应用举例 126
5.3 指针 128
5.3.1 指针的定义 129
5.3.2 使用简单的指针 129
5.3.3 指针和数组 133
5.3.4 指针和字符串 136
5.3.5 指针数组 138
5.3.6 多重间接访问 139
5.3.7 指针、数组与函数 141
5.3.8 main函数的参数 145
5.4 链表 148
5.4.1 什么是链表 148
5.4.2 链表的创建、插入和删除 149
5.4.3 使用链表创建一个学生成绩管理系统 157
5.5 习题 164
第6章 类与对象 165
6.1 类和对象的基本概念 165
6.2 构造函数与析构函数 171
6.3 内联函数 174
6.4 静态成员 178
6.5 对象数组 180
6.6 指向对象的指针 181
6.7 在函数中使用对象 184
6.8 this指针 189
6.9 友元 191
6.10 习题 195
第7章 继承、重载和多态性 196
7.1 继承 196
7.1.1 基类和派生类 196
7.1.2 继承的访问控制 199
7.1.3 派生类的构造函数和析构函数 202
7.1.4 多重派生 207
7.2 重载 209
7.2.1 函数重载 209
7.2.2 运算符重载 211
7.3.1 指向基类的指针和指向派生类的指针 218
7.3 多态性 218
7.3.2 虚函数 220
7.3.3 纯虚函数和抽象类 223
7.4 程序设计实例 225
7.5 习题 233
第8章 I/O系统和文件 234
8.1 流 234
8.1.1 流的概念 234
8.1.2 预定义的C++流 235
8.1.3 重载I/O运算符 235
8.2 格式化I/O 239
8.2.1 使用ios成员函数进行格式化输入输出 239
8.2.2 使用操控符实现格式化输入输出 243
8.3 文件流 247
8.3.1 打开和关闭文件 247
8.3.2 读写文本文件 249
8.3.3 读写二进制文件 250
8.3.4 其他I/O函数 254
8.4 程序设计实例 259
8.5 习题 262
第9章 模板、异常处理和命名空间 263
9.1 模板 263
9.1.1 函数模板 263
9.1.2 类模板 267
9.2 异常处理 271
9.2.1 基础知识 272
9.2.2 捕获所有异常 278
9.2.3 异常嵌套 279
9.3 命名空间 280
9.3.1 命名空间的定义 280
9.3.2 使用using引用命名空间 282
9.4 习题 284
第10章 创建MFC Windows应用程序 285
10.1 什么是MFC 285
10.1.1 MFC的优点 285
10.1.2 MFC的功能 286
10.1.3 如何使用MFC 286
10.2.1 创建一个最简单的Windows程序 287
10.2 Windows程序设计基础 287
10.2.2 程序运行流程分析 290
10.2.3 框架窗口类 291
10.2.4 文档模板 293
10.2.5 文档类 294
10.2.6 视图类 295
10.2.7 文档/视图结构 296
10.2.8 程序员的工作 297
10.3 单文档应用 298
10.3.1 单文档类型和多文档类型 298
10.3.2 消息驱动 298
10.3.3 创建Hello World程序 299
10.3.4 创建一个简单的文本编辑器 301
10.4 多文档应用 311
10.4.1 MFC创建的MDI应用程序的结构 311
10.4.2 增强文本编辑器的功能 313
10.5 习题 317
第11章 对话框程序设计 319
11.1 对话框的使用 319
11.1.1 如何建立一个基于对话框的应用 319
11.1.2 常见的简单控件 320
11.2 菜单 336
11.2.1 编辑菜单 337
11.2.2 使用CMenu来管理菜单 337
11.2.3 编写代码 338
11.3 控制条 340
11.3.1 工具栏 341
11.3.2 状态条 343
11.4 习题 346
第12章 创建ActiveX控件 347
12.1 ActiveX概述 347
12.1.1 什么是ActiveX技术 347
12.1.2 ActiveX的主要内容 347
12.1.3 什么是ActiveX控件 348
12.1.4 ActiveX控件的基本组成 349
12.2 使用MFC开发ActiveX控件 349
12.2.1 创建一个Hello World控件 349
12.2.2 创建一个四则运算控件 352
12.2.3 添加属性 357
12.3 使用ATL开发ActiveX控件 366
12.3.1 ATL简介 366
12.3.2 使用ATL开发ActiveX控件 366
12.3.3 测试控件 371
12.4 习题 372
第13章 数据库和Internet程序设计 373
13.1 数据库 373
13.1.1 关系数据库基础 373
13.1.2 使用ODBC访问数据库 375
13.2 Internet程序设计 384
13.2.1 WinInet基础 384
13.2.2 一个简单的例子 385
13.3 习题 389