第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
2.6.1类型定义语句——typedef 26
2.6.2枚举类型——enum 27
2.6.3结构体类型 28
2.6.4共用体类型 29
2.7随机数 31
第3章 C++基本控制结构 35
3.1顺序结构 35
3.2选择结构 35
3.2.1用if语句实现选择结构 36
3.2.2多重选择结构 37
3.3循环结构 41
3.3.1 while语句 43
3.3.2 do…while语句 44
3.3.3 for语句 46
3.4其他控制语句 48
3.4.1 break语句 49
3.4.2 continue语句 51
3.4.3 goto语句 51
第4章 函数 53
4.1函数的定义 53
4.2函数的调用 54
4.2.1函数的调用形式 54
4.2.2函数的嵌套调用 57
4.2.3递归调用 57
4.3函数的参数的传递 58
4.3.1值调用 58
4.3.2引用调用 59
4.4内联函数 60
4.5带默认参数的函数 61
4.6函数重载 63
4.7函数模板 67
第5章 类与对象 69
5.1类形成的基础 69
5.1.1抽象 69
5.1.2封装 70
5.2类和对象 70
5.2.1类的声明 71
5.2.2类成员的访问控制 72
5.2.3类的成员函数 73
5.2.4对象 74
5.2.5类成员的访问 75
5.3构造函数和析构函数 77
5.3.1构造函数 77
5.3.2析构函数 81
5.4类的组合 82
5.5类的静态成员 84
5.5.1静态成员变量 85
5.5.2静态成员函数 86
5.6友元 88
5.6.1友元函数 88
5.6.2友元类 91
5.7类模板 93
第6章 数组与指针 97
6.1数组 97
6.1.1数组的声明和使用 97
6.1.2数组的存储与初始化 98
6.1.3数组作为函数参数 103
6.1.4对象数组 104
6.2指针 106
6.2.1内存空间的访问方式 106
6.2.2指针变量的声明 107
6.2.3与地址相关的运算符——“*”和“&” 107
6.2.4指针的初始化 108
6.2.5指针运算 109
6.2.6用指针处理数组元素 110
6.2.7指针数组 111
6.2.8用指针作为函数参数 113
6.2.9对象指针 115
6.2.10动态分配/撤销内存的运算符new和delete 116
6.3字符串 117
6.3.1使用字符数组处理字符串 117
6.3.2使用字符串变量处理字符串 119
第7章 继承与派生 122
7.1继承与派生 122
7.1.1概念 123
7.1.2派生类的声明 125
7.1.3派生类的生成过程 126
7.2访问控制 127
7.2.1公有继承 127
7.2.2私有继承 129
7.2.3保护继承 130
7.3类型兼容规则 132
7.4派生类的构造和析构函数 134
7.4.1派生类的构造函数 134
7.4.2派生类的析构函数 136
7.5二义性问题及其消除 142
7.5.1二义性问题(一) 142
7.5.2二义性间题(二) 144
7.5.3虚基类 145
第8章 多态性 147
8.1多态性概述 147
8.2运算符重载 148
8.2.1运算符重载的规则 149
8.2.2运算符重载为成员函数 150
8.2.3运算符重载为友元函数 151
8.3虚函数 152
8.4抽象类 155
8.4.1纯虚函数 156
8.4.2抽象类 156
第9章 Visual C++6.0开发环境 159
9.1 Visual C++6.0集成开发环境简介 159
9.2集成平台基本操作 161
9.2.1打开和关闭应用程序 161
9.2.2编译运行一个应用程序 162
9.3应用程序向导 162
9.3.1 Visual C++中的向导类型 163
9.3.2使用MFC AppWizard 163
9.3.3应用程序向导生成的文件 172
9.4 ClassWizard类向导 178
9.4.1 ClassWizard的功能 178
9.4.2添加成员变量 179
9.4.3添加消息处理函数 180
9.4.4为项目添加新类 180
第10章 基于文档/视图的程序设计 182
10.1文档和视图概述 182
10.2消息及消息映射 183
10.2.1消息的类别及其描述 183
10.2.2消息映射 184
10.2.3消息映射系统 184
10.3鼠标消息及其处理 185
10.4键盘消息及其处理 190
第11章 菜单、工具栏、状态栏和快捷键 196
11.1菜单 196
11.1.1建立菜单资源 196
11.1.2添加菜单命令处理函数 197
11.1.3快捷菜单 200
11.2工具栏 201
11.3状态栏 202
11.4快捷键 204
第12章 基于对话框的程序设计 206
12.1对话框的类型 206
12.2对话框设计 206
12.2.1设计对话框资源 206
12.2.2设计对话框类 208
12.2.3对话框的调用 212
12.2.4对话框控件消息及其消息映射 213
12.2.5为对话框设计菜单 216
12.3对话框的参数传递方法 220
第13章 定时器及其应用 223
13.1定时器函数和定时器消息 223
13.2定时器的应用 223
第14章 Windows标准控件 239
14.1控件概述 239
14.1.1控件的组织 240
14.1.2控件共有属性 241
14.2静态控件 242
14.3编辑框 243
14.4单选按钮 243
14.5复选框 245
14.6列表框 247
14.7组合框 250
第15章 设备上下文和图形设备接口 256
15.1概述 256
15.1.1图形设备接口 256
15.1.2设备上下文 256
15.2颜色的设定 256
15.3画笔和画刷 261
15.3.1画笔的使用 261
15.3.2画刷的使用 263
15.4绘制基本图形 267
15.5字体的设置 269
15.5.1 CreatPointFont()函数初始化字体 269
15.5.2使用CreateFontIndirect()函数创建字体 270
15.5.3使用CreateFont()函数初始化创建字体 271
15.5.4使用公用字体对话框设置字体 272
15.6位图的显示 274
参考文献 276