第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 友元 78
5.5.1 友元函数 79
5.5.2 友元类 82
5.6 类模板 83
第6章 数组与指针 88
6.1 数组 88
6.1.1 数组的声明和使用 88
6.1.2 数组的存储与初始化 89
6.1.3 数组作为函数参数 94
6.1.4 对象数组 95
6.2 指针 97
6.2.1 内存空间的访问方式 97
6.2.2 指针变量的声明 98
6.2.3 与地址相关的运算符——“*”和“&” 98
6.2.4 指针的初始化 99
6.2.5 指针运算 100
6.2.6 用指针处理数组元素 101
6.2.7 指针数组 102
6.2.8 用指针作为函数参数 104
6.2.9 对象指针 106
6.2.10 动态分配/撤消内存的运算符new和delete 107
第7章 继承与派生 109
7.1 继承与派生 109
7.1.1 概念 110
7.1.2 派生类的声明 112
7.1.3 派生类的生成过程 113
7.2 访问控制 114
7.2.1 公有继承 114
7.2.2 私有继承 116
7.2.3 保护继承 117
7.3 类型兼容规则 119
7.4 派生类的构造和析构函数 121
7.4.1 派生类的构造函数 121
7.4.2 派生类的析构函数 123
7.5 二义性问题及其消除 125
7.5.1 二义性问题(一) 125
7.5.2 二义性问题(二) 127
7.5.3 虚基类 129
第8章 多态性 131
8.1 多态性概述 131
8.2 运算符重载 132
8.2.1 运算符重载的规则 133
8.2.2 运算符重载为成员函数 133
8.2.3 运算符重载为友元函数 135
8.3 虚函数 136
8.4 抽象类 139
8.4.1 纯虚函数 140
8.4.2 抽象类 140
第9章 Visual C++6.0集成开发环境 143
9.1 Visual C++6.0集成开发环境简介 143
9.2 集成平台基本操作 145
9.2.1 打开和关闭应用程序 145
9.2.2 编译运行一个应用程序 146
9.3 应用程序向导 146
9.3.1 Visual C++中的向导类型 147
9.3.2 使用MFC AppWizard 147
9.3.3 应用程序向导生成的文件 156
9.4 ClassWizard类向导 162
9.4.1 ClassWizard的功能 162
9.4.2 添加成员变量 163
9.4.3 添加消息处理函数 164
9.4.4 为项目添加新类 164
第10章 基于文档/视图的程序设计 166
10.1 文档和视图概述 166
10.2 消息及消息映射 167
10.2.1 消息的类别及其描述 167
10.2.2 消息映射 168
10.2.3 消息映射系统 168
10.3 鼠标消息及其处理 169
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标准控件 222
14.1 控件概述 222
14.1.1 控件的组织 223
14.1.2 控件共有属性 224
14.2 静态控件 225
14.3 编辑框 226
14.4 单选按钮 226
14.5 复选框 228
14.6 列表框 230
14.7 组合框 233
第15章 设备上下文和图形设备接口 239
15.1 概述 239
15.1.1 图形设备接口 239
15.1.2 设备上下文 239
15.2 颜色的设定 239
15.3 画笔和画刷 244
15.3.1 画笔的使用 244
15.3.2 画刷的使用 246
15.4 绘制基本图形 250
15.5 字体的设置 252
15.5.1 CreatPointFont()函数初始化字体 252
15.5.2 使用CreateFontIndirect()函数创建字体 253
15.5.3 使用CreateFont()函数初始化创建字体 254
15.5.4 使用公用字体对话框设置字体 255
15.6 位图的显示 257
参考文献 259