第1章 C++概述 1
1.1 C++的产生 1
1.2 计算机程序语言的发展 1
1.2.1 程序和程序语言 1
1.2.2 结构化程序设计 2
1.2.3 面向对象的程序设计 2
1.3 C++语言的特点 3
1.4 简单的C++程序 4
1.5 C++程序开发 5
1.5.1 C++程序开发过程 5
1.5.2 C++程序开发环境 5
第2章 C++语言基础 9
2.1 基本数据类型 9
2.2 常量 10
2.3 变量 11
2.3.1 变量的声明和定义 11
2.3.2 变量的存储类型 12
2.3.3 变量的作用域、可见性和生存期 12
2.3.4 外部变量的声明和引用 16
2.4 运算符与表达式 19
2.4.1 算术运算符与算术表达式 19
2.4.2 赋值运算符与赋值表达式 20
2.4.3 逗号运算符与逗号表达式 20
2.4.4 逻辑运算符与逻辑表达式 21
2.4.5 条件运算符与条件表达式 22
2.4.6 sizeof操作符 22
2.4.7 位运算 22
2.5 C++的输入/输出 23
2.6 随机数 26
第3章 C++基本控制结构 30
3.1 顺序结构 30
3.2 选择结构 30
3.2.1 用if语句实现选择结构 31
3.2.2 多重选择结构 32
3.3 循环结构 36
3.3.1 while语句 38
3.3.2 do…while语句 39
3.3.3 for语句 41
3.4 其他控制语句 44
3.4.1 break语句 44
3.4.2 continue语句 45
3.4.3 goto语句 46
第4章 函数 47
4.1 函数的定义 47
4.2 函数的调用 48
4.2.1 函数的调用形式 48
4.2.2 函数的嵌套调用 52
4.2.3 递归调用 52
4.3 函数的参数传递 53
4.3.1 值调用 54
4.3.2 引用调用 55
4.4 带默认参数的函数 56
4.5 函数重载 57
4.6 函数模板 61
第5章 类与对象 63
5.1 类形成的基础 63
5.1.1 抽象 63
5.1.2 封装 64
5.2 类和对象 64
5.2.1 类的声明 65
5.2.2 类成员的访问控制 66
5.2.3 类的成员函数 67
5.2.4 对象 68
5.2.5 类成员的访问 69
5.3 构造函数和析构函数 71
5.3.1 构造函数 71
5.3.2 析构函数 75
5.4 类的组合 76
5.5 友元 79
5.5.1 友元函数 80
5.5.2 友元类 83
5.6 类模板 84
第6章 数组与指针 89
6.1 数组 89
6.1.1 数组的声明和使用 89
6.1.2 数组的存储与初始化 90
6.1.3 数组作为函数参数 95
6.1.4 对象数组 96
6.2 指针 98
6.2.1 内存空间的访问方式 98
6.2.2 指针变量的声明 99
6.2.3 与地址相关的运算符——“*”和“&” 99
6.2.4 指针的初始化 100
6.2.5 指针运算 101
6.2.6 用指针处理数组元素 102
6.2.7 指针数组 103
6.2.8 用指针作为函数参数 105
6.2.9 对象指针 107
6.2.10 动态分配/撤消内存的运算符new和delete 108
第7章 继承与派生 110
7.1 继承与派生 110
7.1.1 概念 111
7.1.2 派生类的声明 113
7.1.3 派生类的生成过程 114
7.2 访问控制 115
7.2.1 公有继承 115
7.2.2 私有继承 117
7.2.3 保护继承 118
7.3 类型兼容规则 120
7.4 派生类的构造和析构函数 122
7.4.1 派生类的构造函数 122
7.4.2 派生类的析构函数 124
7.5 二义性问题及其消除 126
7.5.1 二义性问题(一) 126
7.5.2 二义性问题(二) 128
7.5.3 虚基类 130
第8章 多态性 132
8.1 多态性概述 132
8.2 运算符重载 133
8.2.1 运算符重载的规则 134
8.2.2 运算符重载为成员函数 134
8.2.3 运算符重载为友元函数 136
8.3 虚函数 137
8.4 抽象类 140
8.4.1 纯虚函数 141
8.4.2 抽象类 141
第9章 Visual C++ 6.0集成开发环境 144
9.1 Visual C++ 6.0集成开发环境简介 144
9.2 集成平台基本操作 146
9.2.1 打开和关闭应用程序 146
9.2.2 编译运行一个应用程序 147
9.3 应用程序向导 147
9.3.1 Visual C++中的向导类型 148
9.3.2 使用MFC AppWizard 148
9.3.3 应用程序向导生成的文件 157
9.4 ClassWizard类向导 163
9.4.1 ClassWizard的功能 163
9.4.2 添加成员变量 164
9.4.3 添加消息处理函数 165
9.4.4 为项目添加新类 165
第10章 基于文档/视图的程序设计 167
10.1 文档和视图概述 167
10.2 消息及消息映射 168
10.2.1 消息的类别及其描述 168
10.2.2 消息映射 169
10.2.3 消息映射系统 169
10.3 鼠标消息及其处理 170
10.4 键盘消息及其处理 174
第11章 菜单、工具栏、状态栏和快捷键 182
11.1 菜单 182
11.1.1 建立菜单资源 182
11.1.2 添加菜单命令处理函数 183
11.1.3 快捷菜单 186
11.2 工具栏 187
11.3 状态栏 188
11.4 快捷键 190
第12章 基于对话框的程序设计 192
12.1 对话框的类型 192
12.2 对话框设计 192
12.2.1 设计对话框资源 192
12.2.2 设计对话框类 194
12.2.3 对话框的调用 198
12.2.4 对话框控件消息及其消息映射 199
12.2.5 为对话框设计菜单 202
12.3 对话框的参数传递方法 206
第13章 定时器及其应用 209
13.1 定时器函数和定时器消息 209
13.2 定时器的应用 209
第14章 Windows标准控件 221
14.1 控件概述 221
14.1.1 控件的组织 222
14.1.2 控件共有属性 223
14.2 静态控件 224
14.3 编辑框 225
14.4 单选按钮 225
14.5 复选框 227
14.6 列表框 229
14.7 组合框 232
第15章 设备上下文和图形设备接口 238
15.1 概述 238
15.1.1 图形设备接口 238
15.1.2 设备上下文 238
15.2 颜色的设定 238
15.3 画笔和画刷 243
15.3.1 画笔的使用 243
15.3.2 画刷的使用 245
15.4 绘制基本图形 249
15.5 字体的设置 251
15.5.1 使用CreatePointFont()函数初始化字体 251
15.5.2 使用CreateFontIndirect()函数创建字体 252
15.5.3 使用CreateFont()函数初始化创建字体 253
15.5.4 使用公用字体对话框设置字体 254
15.6 位图的显示 256
参考文献 258