目录 3
第一部分 C++语言基础 3
第1章 C++语言基础知识 3
1.1 C++程序结构 3
1.1.1 简单的C++程序介绍 3
1.1.2 C++语句组成 8
1.1.3 命名规则和书写风格 9
1.2 数据和表达式 10
1.2.1 基本数据类型 10
1.2.2 变量 13
1.2.3 常量 14
1.2.4 用typedef定义类型名 21
1.2.5 运算符号和表达式 22
1.3 C++程序流程控制 29
1.3.1 顺序语句 30
1.3.2 判断语句 31
1.3.3 循环语句 35
1.3.4 break和continue语句 39
习题 40
第2章 函数和预处理指令 42
2.1 函数 42
2.1.1 函数定义与调用 42
2.1.2 函数的原型 43
2.1.3 函数的参数传递 45
2.1.4 函数重载 47
2.1.5 函数的默认参数 49
2.1.6 内联函数 51
2.1.7 递归函数 53
2.2 作用域和存储类型 55
2.2.1 作用域与可见性 55
2.2.2 全局、局部变量 57
2.2.3 存储类型及生命期 58
2.2.4 多文件结构 60
2.3 预处理指令 62
2.3.1 宏定义指令 62
2.3.2 文件包含指令 64
2.3.3 条件编译指令 65
习题 67
第3章 数组、字符串与自定义数据类型 69
3.1 数组 69
3.1.1 数组的声明 69
3.1.2 数组元素的调用 70
3.1.3 数组的赋值 71
3.1.4 数组示例 72
3.2 字符串 74
3.2.1 字符数组 74
3.2.2 库函数:string.h 76
3.3 结构 78
3.3.1 结构的声明 79
3.3.2 结构的应用 80
3.4 共用体 83
3.4.1 共用体的声明 83
3.4.2 共用体的应用 84
3.5 枚举 85
3.5.1 枚举的声明 85
3.5.2 枚举的应用 86
习题 87
第4章 指针、引用及函数 88
4.1 指针 88
4.1.1 内存中的变量 88
4.1.2 指针概念 89
4.1.3 指针与数组 93
4.1.4 多级指针 97
4.1.5 指针与结构体 97
4.1.6 new与delete 98
4.1.7 const指针 99
4.1.8 指针和函数 100
4.2 引用 105
4.2.1 引用定义 105
4.2.2 函数和引用 106
习题 109
5.1 类 113
5.1.1 类定义 113
第二部分 面向对象程序设计 113
第5章 类和对象 113
5.1.2 数据成员 115
5.1.3 成员函数 116
5.2 对象 118
5.2.1 对象的建立 118
5.2.2 对象对成员的访问 119
5.2.3 对象数组 120
5.3 构造函数和析构函数 121
5.3.1 构造函数和析构函数的作用 122
5.3.2 构造函数 122
5.3.3 析构函数 129
5.4 this指针 132
5.5.1 成员函数重载与参数的默认 134
5.5 成员函数重载 134
5.5.2 构造函数重载 136
5.6 静态成员与友元 138
5.6.1 静态数据成员 138
5.6.2 静态成员函数 140
5.6.3 友元关系的定义 144
5.6.4 友元类 144
5.6.5 友元函数 146
5.7 运算符重载 148
5.7.1 运算符重载规则与方法 148
5.7.2 增量运算符重载 153
5.7.3 赋值运算符重载 156
5.7.4 下标运算符重载 158
5.8 程序举例 160
习题 167
第6章 继承 170
6.1 继承 170
6.1.1 基类与派生类 170
6.1.2 派生类的三种继承方式 171
6.1.3 派生类的构造函数与析构函数 175
6.2 多重继承 182
6.2.1 多重继承语法 182
6.2.2 多重继承——函数名称重复 186
6.2.3 多重继承——数据名称重复 188
6.3 虚继承 189
6.3.1 虚基类的定义 190
6.3.2 虚基类初始化 192
6.4 程序举例 194
习题 198
第7章 虚函数与多态性 201
7.1 虚函数 201
7.1.1 多态性 201
7.1.2 虚函数定义和使用 201
7.1.3 虚析构函数 204
7.2 纯虚函数与抽象类 206
7.3 程序举例 210
习题 214
8.1.1 I/O流库结构 217
第8章 I/O流库 217
8.1 I/O标准流类 217
8.1.2 istream类和ostream类 218
8.1.3 格式控制 221
8.2 文件流类 225
8.2.1 ifstream类、ofstream类和fstream类 225
8.2.2 文件流的读/写 227
8.3 重载插入/提取运算符 231
8.4 程序举例 235
习题 238
9.1.2 生成应用程序框架 243
9.1.1 工程和工作区 243
9.1 用MFCAppWizard自动生成第一个Windows应用程序 243
第三部分 使用MFC开发WindowS程序第9章 应用程序的基本框架 243
9.1.3 工程的文件组成 247
9.2 建立与编辑窗口资源 248
9.2.1 添加菜单 248
9.2.2 编辑菜单 249
9.2.3 建立快捷键和加速键 251
9.2.4 添加工具栏 253
9.2.5 编辑工具栏 253
9.2.6 字符串表资源 255
9.2.7 自定义窗口类 256
9.2.8 如何在窗口中添加资源 257
9.3.1 概述消息 259
9.3 消息 259
9.3.2 键盘消息 260
9.3.3 鼠标消息 260
9.3.4 消息处理函数 261
9.4 图形设备接口(GDI) 263
9.4.1 设备环境 264
9.4.2 画笔与笔刷 264
9.5 程序举例 266
习题 285
10.1.2 添加对话框编辑工具箱 286
10.1.1 建立对话框 286
10.1 对话框 286
第10章 对话框与常用控件 286
10.1.3 编辑对话框 288
10.2 常用控件 289
10.2.1 编辑文本框 289
10.2.2 按钮 291
10.2.3 单选框 291
10.2.4 复选框 293
10.2.5 列表框 295
10.2.6 组合框 297
10.2.7 微调 299
10.3 程序举例 300
习题 307
11.1 MFC程序框架支持的文档结构 308
第11章 文件操作 308
11.2 CARChive类 311
11.2.1 构造CArchive对象 311
11.2.2 判断CArchive读/写状态 312
11.2.3 其他读/写函数 312
11.2.4 访问文件 312
11.2.5 关闭CArchive 313
11.3 CFile类 313
11.3.1 打开和关闭文件 313
11.3.2 文件的定位 314
11.3.3 文件的读/写 315
11.3.4 文件的管理 315
11.4.2 文本的写 316
11.4 CstdioFile类 316
11.4.1 文本的读 316
11.5 例题 317
习题 319
第12章 程序设计的综合应用 320
12.1 问题的提出 320
12.2 设计问题的框架 320
12.3 实战编程 321
12.3.1 创建工程程序框架并使用框架支持的串行化操作 321
12.3.2 设计程序界面 322
12.3.3 添加程序代码 324
习题 337
参考文献 338