第1章 绪论 1
1.1 概述 1
1.1.1 程序设计语言 1
1.1.2 程序设计方法 2
1.1.3 C及C++语言的发展和特点 5
1.1.4 Microsoft Visual C++及其发展 6
1.2 简单的C++程序 6
1.3 在Microsoft Visual C++ 6.0中建立C++程序 8
1.3.1 创建C++程序 8
1.3.2 Microsoft Visual C++ 6.0开发环境 9
习题1 12
第2章 基本数据类型及表达式 13
2.1 词法符号 13
2.1.1 字符集 13
2.1.2 标识符 13
2.1.3 关键字 14
2.2 基本数据类型 14
2.3 常量与变量 16
2.3.1 常量 16
2.3.2 变量 20
2.4 运算符与表达式 21
2.4.1 表达式 22
2.4.2 算术运算符 23
2.4.3 赋值运算符 25
2.4.4 逗号运算符 27
2.4.5 类型转换 28
习题2 29
第3章 结构化程序设计 31
3.1 C++基本语句 31
3.2 C++输入与输出流 32
3.2.1 数据的输出流 33
3.2.2 数据的输入流 34
3.2.3 输入/输出的使用 35
3.3 顺序结构程序设计 36
3.4 选择结构程序设计 38
3.4.1 关系运算 38
3.4.2 逻辑运算 40
3.4.3 用if语句实现选择结构 42
3.4.4 if语句的嵌套 48
3.4.5 条件表达式 49
3.4.6 switch语句 51
3.5 循环结构程序设计 55
3.5.1 while语句 56
3.5.2 do...while语句 58
3.5.3 for语句 60
3.5.4 循环的嵌套 62
3.5.5 break语句 64
3.5.6 continue语句 67
3.5.7 三种循环语句的比较 68
3.6 程序设计举例 68
习题3 72
第4章 数组与指针 73
4.1 数组 73
4.1.1 数组概念的引入 73
4.1.2 一维数组 74
4.1.3 二维数组 80
4.1.4 字符数组 85
4.2 指针 94
4.2.1 指针的概念 94
4.2.2 指针变量的定义 95
4.2.3 指针变量的初始化 96
4.2.4 指针的运算 99
4.3 指针与数组 102
4.3.1 指向数组的指针 102
4.3.2 通过指针变量使用数组元素 103
4.3.3 指针与字符串 106
4.3.4 多级指针与指针数组 108
4.3.5 指针与二维数组 114
4.3.6 数组指针 118
4.4 引用 119
4.4.1 引用及其声明 119
4.4.2 引用的使用 119
4.5 内存管理 121
4.5.1 运算符new 121
4.5.2 运算符delete 122
习题4 124
第5章 函数与预处理 125
5.1 函数的定义 125
5.1.1 函数概念的引入 125
5.1.2 函数的定义 126
5.1.3 return语句 128
5.1.4 函数声明 130
5.2 函数的调用 132
5.2.1 函数的调用形式 132
5.2.2 函数调用的过程 134
5.2.3 参数传递机制 134
5.3 指针与函数 142
5.3.1 指针变量作为函数参数 142
5.3.2 函数调用中数组的传递 142
5.3.3 函数指针 147
5.3.4 指针函数 150
5.4 函数的嵌套调用 151
5.5 函数的递归调用 154
5.6 内联函数和重载函数 157
5.6.1 内联函数 157
5.6.2 重载函数 159
5.7 默认参数的函数 161
5.8 作用域与生命期 162
5.8.1 作用域 162
5.8.2 全局变量和局部变量 165
5.8.3 生命期 169
5.9 编译预处理 173
5.9.1 宏定义 174
5.9.2 文件包含 177
5.9.3 条件编译 179
习题5 187
第6章 构造数据类型 188
6.1 结构体类型 188
6.1.1 结构体类型的定义 188
6.1.2 结构体类型变量的定义 189
6.1.3 结构体变量的初始化 191
6.1.4 结构体变量的成员的访问 192
6.1.5 结构体数组 193
6.1.6 结构体指针 196
6.1.7 结构体指针的应用 199
6.2 联合体 206
6.2.1 联合体类型的定义 206
6.2.2 访问联合体的成员 207
6.2.3 联合体类型的特点 207
6.3 枚举类型 209
6.3.1 枚举类型及枚举变量的定义 210
6.3.2 枚举元素的访问 210
6.4 用typedef定义类型 211
习题6 211
第7章 类与对象 212
7.1 类 212
7.1.1 类的定义 212
7.1.2 类的成员函数 215
7.2 对象 217
7.2.1 创建对象 217
7.2.2 成员的访问 217
7.3 构造函数与析构函数 218
7.3.1 构造函数 218
7.3.2 析构函数 220
7.3.3 复制构造函数 222
7.4 类与对象的进一步讨论 224
7.4.1 this指针 225
7.4.2 对象成员 226
7.4.3 静态成员 227
7.4.4 对象数组 228
7.5 类的友元 230
7.5.1 友元函数的定义及作用 231
7.5.2 友元类 232
7.6 类模板 232
7.6.1 类模板的定义 232
7.6.2 定义类模板对象 233
7.7 继承与派生 234
7.7.1 派生类 234
7.7.2 派生类对基类成员的覆盖 237
7.7.3 派生类的构造函数和析构函数 238
7.8 虚函数 241
7.8.1 多态性 241
7.8.2 虚函数 243
7.8.3 抽象基类 245
7.9 运算符重载 246
7.9.1 运算符重载概述 246
7.9.2 运算符重载为类的成员函数 247
7.9.3 运算符重载为类的友元函数 249
7.9.4 运算符重载原则 251
习题7 252
第8章 对话框和基本控件 253
8.1 Windows编程与MFC 253
8.1.1 Windows编程 253
8.1.2 MFC 254
8.1.3 Microsoft Visual C++ 255
8.2 对话框与常用控件概述 255
8.2.1 对话框 256
8.2.2 常用控件 257
8.2.3 使用MFC AppWizard创建基于对话框的应用程序 258
8.3 与用户交互的基于对话框的MFC应用程序 262
8.3.1 建立MFC应用程序工程 263
8.3.2 编辑对话框资源 264
8.3.3 编辑对话框类 269
8.4 多对话框应用程序 278
8.4.1 基于对话框的小学加法运算练习程序 278
8.4.2 多个控件的消息映射 282
8.4.3 显示“关于”对话框 284
8.4.4 添加“登录”对话框 285
习题8 291
第9章 菜单与文档/视图结构 292
9.1 菜单 292
9.1.1 菜单概述 292
9.1.2 对话框应用程序中的菜单设计实例 295
9.2 文档/视图结构及其应用 299
9.2.1 概述 299
9.2.2 文档类及其派生类 301
9.2.3 视图类及其派生类 302
9.2.4 建立单文档界面的绘图程序实例 303
习题9 315
参考文献 316