第一篇 基础篇 1
第1章 面向对象的程序设计和C++语言 2
1.1 面向对象和Windows编程 2
1.2 C++语言基础 4
1.2.1 C++的基本数据类型 4
1.2.2 标识符 5
1.2.3 变量 6
1.2.4 常量 7
1.3 基本运算符 7
1.3.1 算术运算符 7
1.3.2 关系运算符 7
1.3.4 位操作运算符 8
1.3.3 逻辑运算符 8
1.3.5 特殊运算符 9
1.4 流程控制 10
1.4.1 条件语句 10
1.4.2 循环语句 11
1.4.3 转移语句 13
1.4.4 分支语句 15
1.5 简单的输入和输出 16
1.5.1 cin输入流 16
1.5.2 cout输出流 17
1.6 类和对象 18
1.6.1 类和类的定义 18
1.6.2 对象和对象的定义 20
1.6.3 构造函数和析构函数 21
1.6.4 函数重载 22
1.7 类的继承 24
1.8 多态性和虚函数 26
1.8.1 多态性 26
1.8.2 静态联编和动态联编 31
1.8.3 虚函数 33
第2章 Visual C++可视化集成开发环境 36
2.1 了解Visual C++可视化集成开发环境 36
2.1.1 项目工作区 37
2.1.2 AppWizard(应用程序向导) 39
2.1.3 ClassWizard(类向导) 39
2.1.4 WizardBar(向导工具条) 40
2.1.5 Developer Studio的一些快捷特性 40
2.2.1 File菜单 41
2.2 Visual C++6.0的菜单栏 41
2.2.2 Edit菜单 43
2.2.3 View菜单 45
2.2.4 Insert菜单 47
2.2.5 Project菜单 47
2.2.6 Build菜单 48
2.2.7 Debug菜单 49
2.2.8 Tools菜单 50
2.2.9 Window菜单 51
2.2.10 Help菜单 52
第3章 第一个应用程序 53
3.1 编写第一个窗口程序 53
3.2 AppWizard所创建的文件 58
3.3 编译和链接Hello程序 59
3.4.1 WinMain函数 60
3.4 应用程序执行机制 60
3.4.2 应用程序类 61
第4章 使用ClassWizard 63
4.1 ClassWizard入门 63
4.2 访问ClassWizard 63
4.2.1 Message Maps(消息映像)选项卡 64
4.2.2 MemberVariables(成员变量)选项卡 66
4.2.3 Automation选项卡 66
4.2.4 ActiveX Events选项卡 67
4.2.5 Class Info选项卡 67
4.3 向项目添加新类 68
4.4 添加新函数 69
4.5 使用ClassWizard添加成员变量 70
第二篇 Run-Time函数库 73
第5章 字符与字符串操作函数 74
5.1 字符分类 74
5.1.1 isalnum,iswalnum 74
5.1.2 isalpha,iswalpha 75
5.1.3 isascii,iswascii 76
5.1.4 iscntrl,iswcntrl 77
5.1.5 ismbclegal 78
5.2 缓冲区操作 79
5.2.1 memccpy 79
5.2.2 memchr 80
5.2.3 memcmp 81
5.2.4 memcpy 82
5.2.5 memicmp 83
5.2.6 memmove 84
5.2.8 swab 85
5.2.7 memset 85
5.3 字符串操作 86
5.3.1 strcat,wcscat 86
5.3.2 strlen,wcslen 87
5.3.3 strrev,wcsrev 88
5.3.4 strstr,wcsstr 88
5.3.5 strtok,wcstok 89
第6章 浮点运算 91
6.1 浮点运算 91
6.1.1 acos 91
6.1.2 cabs 92
6.1.3 ceil 92
6.1.5 div 93
6.1.4 floor 93
6.1.6 log,log10 94
6.1.7 lrotl,lrotr 95
6.1.8 pow 95
6.1.9 rand 96
6.1.10 sqrt 97
第7章 目录与文件 98
7.1 目录操作 98
7.1.1 chdir,wchdir 98
7.1.2 chdrive 99
7.1.3 _getcwd,_wgetcwd 100
7.1.4 mkdir,wmkdir 101
7.1.5 _searchenv,_wsearchenv 102
7.2.1 _chsize 103
7.2 文件处理 103
7.2.2 _access,_waccess 105
7.2.3 filelength 106
7.2.4 _makepath,_wmakepath 106
7.2.5 _mktemp,_wmktemp 107
7.2.6 _splitpath,_wsplitpath 109
7.2.7 _stat,_stati64,_wstat 109
7.3 流的输入与输出 110
7.3.1 fclose,fcloseall 110
7.3.2 fopen,_wfopen 111
7.3.3 fprintf,fwprintf 112
7.3.4 fread 112
7.3.5 fscanf,fwscanf 114
7.3.7 gets,_getws 115
7.3.6 fwrite 115
7.3.8 printf,wprintf 116
7.3.9 puts,_putws 117
7.3.10 scanf,wscanf 118
7.3.11 sprintf,swprintf 118
7.3.12 sscanf,swscanf 119
第8章 工具函数 121
8.1 参数访问 121
8.1.1 va arg,va end,va start 121
8.2 时间 122
8.2.1 asctime,wasctime 123
8.2.2 clock 123
8.2.4 localtime 125
8.2.3 difftime 125
8.2.5 strftime,wcsftime 126
8.2.6 time 127
8.3 数据格式转换 129
8.3.1 abs 129
8.3.2 atof,atoi,_atoi64,atol 130
8.3.3 _ecvt 132
8.3.4 tolower,_tolower,towlower 133
8.4 分配内存 133
8.4.1 free 133
8.4.2 malloc 134
8.4.3 realloc 134
8.5 进程与环境 135
8.5.1 assert 136
8.5.2 atexit 137
8.5.3 _beginthread,_beginthreadex 138
8.5.4 exit 139
8.5.5 getenv,_wgetenv 140
8.5.6 _getpid 141
8.5.7 _putenv,_wputenv 141
8.5.8 system,_wsystem 142
第三篇 MFC 143
第9章 根类 144
9.1 CObject 144
9.1.1 构造函数 144
9.1.2 诊断 145
9.1.3 串行化 146
9.1.4 其他 146
9.2 CRuntimeClass 147
第10章 MFC应用结构类 149
10.1 CCmdTarget 149
10.1.1 属性 150
10.1.2 操作 150
10.1.3 可重载的函数 151
10.2 CCmdUI 151
10.2.1 数据成员 152
10.2.2 操作 153
10.3 CCreateContext 153
10.4 CCriticalSection 154
10.4.1 构造函数 154
10.5 CDocTemplate 155
10.4.2 方法 155
10.5.1 构造函数 156
10.5.2 属性 156
10.5.3 操作 158
10.5.4 可重载的函数 159
10.6 CDocument 161
10.6.1 构造函数 162
10.6.2 操作 162
10.6.3 可重载的函数 164
10.6.4 邮件函数 167
10.7 CEvent 168
10.7.1 构造函数 168
10.7.2 方法 169
10.8 CFrameWnd 170
10.8.1 数据成员 171
10.8.3 初始化 172
10.8.2 构造函数 172
10.8.4 操作 174
10.8.5 可重载的函数 178
10.8.6 命令处理 179
10.9 CMDIChildWnd 180
10.9.1 构造函数 181
10.9.2 初始化 181
10.9.3 操作 181
10.10 CMDIFrameWnd 182
10.10.1 构造函数 183
10.10.2 操作 183
10.10.3 可重载的函数 185
10.11.1 构造函数 186
10.11 CMultiDocTemplate 186
10.12 CMultiLock 187
10.12.1 构造函数 187
10.12.2 方法 187
10.13 CMutex 189
10.13.1 构造函数 189
10.14 COleDocument 190
10.14.1 构造函数 190
10.14.2 操作 191
10.14.3 可重载的函数 193
10.14.4 邮件函数 193
10.14.5 消息句柄 193
10.15.2 可重载的函数 195
10.15 COleIPFrameWnd 195
10.15.1 构造函数 195
10.16 COleLinkingDoc 196
10.16.1 构造函数 197
10.16.2 操作 197
10.16.3 可重载的函数 197
10.17 COleServerDoc 198
10.17.1 构造函数 198
10.17.2 属性 199
10.17.3 操作 200
10.17.4 可重载的函数 204
10.18 CRichEditDoc 208
10.18.1 属性 208
10.19 CRichEditView 209
10.19.1 构造函数 209
10.18.2 数据成员 209
10.18.3 可重载的函数 209
10.19.2 属性 210
10.19.3 数据成员 212
10.19.4 操作 212
10.19.5 可重载的函数 215
10.20 CSemaphore 219
10.20.1 构造函数 219
10.21 CSingleDocTemplate 220
10.21.1 构造函数 220
10.22.1 构造函数 221
10.22.2 方法 221
10.22 CSingleLock 221
10.23 CSyncObject 222
10.23.1 构造函数 222
10.23.2 方法 223
10.23.3 属性 223
10.24 CWinApp 223
10.24.1 数据成员 224
10.24.2 构造函数 226
10.24.3 操作 226
10.24.4 可重载的函数 232
10.24.5 初始化 236
10.24.6 命令句柄 237
10.25 CWinThread 239
10.25.1 数据成员 240
10.25.2 构造函数 241
10.25.3 操作 241
10.25.4 可重载的函数 243
第11章 窗口、对话和控件类 247
11.1 CColorDialog 247
11.1.1 数据成员 247
11.1.2 构造函数 247
11.1.3 操作 248
11.1.4 可重载的函数 248
11.2 CCommonDialog 249
11.2.1 构造函数 249
11.3 CControlBar 249
11.3.2 可重载的函数 250
11.3.3 操作 250
11.3.1 数据成员 250
11.4 CCtrlView 251
11.4.1 构造函数 251
11.4.2 数据成员 251
11.5 CDaoRecordView 251
11.5.1 构造函数 252
11.5.2 属性 252
11.5.3 操作 253
11.6 CDataExchange 254
11.6.1 数据成员 254
11.6.2 操作 254
11.7 CEdit 255
11.8 CEditView 256
11.7.1 构造函数 256
11.8.1 数据成员 257
11.8.2 构造函数 257
11.8.3 属性 257
11.8.4 操作 258
11.8.5 可重载的函数 259
11.9 CFileDialog 260
11.9.1 数据成员 261
11.9.2 构造函数 261
11.9.3 操作 262
11.10 CFontDialog 263
11.10.1 数据成员 264
11.10.2 构造函数 264
11.11 CFormView 264
11.12.2 属性 265
11.12.1 构造函数 265
11.11.1 构造函数 265
11.12 CListView 265
11.13 CMiniFrameWnd 266
11.13.1 构造函数 266
11.14 COleDialog 267
11.14.1 操作 267
11.15 CPrintDialog 267
11.15.1 数据成员 268
11.15.2 构造函数 268
11.16 CRecordView 268
11.16.1 构造函数 269
11.16.2 属性 269
11.17 CScrollView 270
11.16.3 操作 270
11.17.1 操作 272
11.17.2 构造函数 274
11.18 CStatic 274
11.18.1 构造函数 274
11.18.2 初始化 274
11.19 CTreeView 275
11.19.1 构造函数 275
11.19.2 属性 275
11.20 CView 276
11.20.1 构造函数 277
11.20.2 操作 277
11.20.3 可重载的函数 278
11.21 CWnd 282
11.21.1 数据成员 283
11.21.2 构造函数/析构函数 283
11.21.3 初始化 284
第12章 绘图和打印类 290
12.1 CBitmap 290
12.1.1 构造函数 290
12.1.2 初始化 290
12.2 CBrush 292
12.2.1 构造函数 292
12.2.2 初始化 293
12.4 CFont 295
12.3.2 构造函数 295
12.3.1 数据成员 295
12.3 CDC 295
12.4.1 构造函数 296
12.4.2 初始化 296
12.4.3 操作 298
12.4.4 属性 298
12.5 CPaintDC 298
12.5.1 数据成员 299
12.5.2 构造函数 299
12.6 CPen 299
12.6.1 构造函数 299
12.6.2 初始化 300
12.6.3 操作 301
12.6.4 属性 301
12.7.1 构造函数 302
12.7 CWindowDC 302
12.7.2 数据成员 303
第13章 文件和数据库类 304
13.1 CDaoDatabase 304
13.1.1 数据成员 304
13.1.2 构造函数 304
13.2 CDaoRecordset 305
13.2.1 数据成员 306
13.2.2 构造函数 307
13.2.3 属性 309
13.2.4 可重载的函数 316
13.3.1 数据成员 317
13.3.2 构造函数 317
13.3 CDaoWorkspace 317
13.3.3 属性 318
13.4 CDBException 319
13.4.1 数据成员 319
13.5 CFieldExchange 320
13.5.1 操作 320
13.6 CFile 321
13.6.1 数据成员 321
13.6.2 构造函数 321
13.6.3 输入/输出 323
13.6.4 定位 323
13.6.5 封锁 324
13.6.6 状态 325
13.6.7 静态 325
13.7.2 操作 326
13.7 CMemFile 326
13.7.1 构造函数 326
13.8 COleStreamFile 327
13.8.1 构造函数 327
13.8.2 属性和操作 328
13.9 CRecordset 329
13.9.1 数据成员 330
13.9.2 构造函数 331
13.10 CSharedFile 333
13.10.1 构造函数 334
13.10.2 操作 334
13.11 CStdioFile 334
13.11.2 构造函数 335
13.11.1 数据成员 335
第14章 Internet和网络类 336
14.1 CAsynSocket 336
14.1.1 构造函数 336
14.1.2 属性 337
14.1.3 运行 342
14.1.4 数据成员 351
14.2 CHttpFilter 351
14.2.1 构造函数 351
14.2.2 属性 352
14.2.3 可重载的函数 353
14.2.4 操作 355
14.3.3 属性 356
14.3.2 构造函数 356
14.3 CHttpFilterContext 356
14.3.1 数据成员 356
14.4 CHttpServer 359
14.4.1 构造函数 360
14.4.2 可重载的函数 360
14.4.3 属性 363
14.5 CHttpServerContext 364
14.5.1 数据成员 365
14.5.2 构造函数 365
14.5.3 操作 365
14.5.4 操作符 368
14.6.1 构造函数 369
14.6.2 操作 369
14.6 CInternetConnection 369
14.6.3 操作符 370
14.7 CInternetSession 370
14.7.1 构造函数 371
14.7.2 属性 372
14.7.3 操作 376
14.7.4 可重载的函数 377
14.7.5 操作符 378
14.8 CSocket 378
14.8.1 构造函数 378
14.8.2 属性 379
14.8.3 操作 380
14.8.4 可重载的函数 380
14.9 CSocketFile 380
14.9.1 构造函数 381