第1章 初步认识C++和实例系统 1
1.1 C++语言概述 1
1.1.1 C++语言的特点 1
1.1.2类和对象的概念 2
1.2实例系统概述 2
1.2.1实例系统的总体功能 3
1.2.2实例系统的总体结构 3
1.2.3实例系统的协议设计 4
1.3实例系统开发前的准备 11
1.3.1创建服务器项目 11
1.3.2定义公共头文件 12
1.3.3定义协议 13
1.4本章小结 15
1.5思考与练习 15
第2章 类和对象及其应用 16
2.1 C++基础语法 16
2.1.1 new和delete 16
2.1.2 const限定修饰符 16
2.1.3引用 18
2.2类和对象 19
2.2.1类和对象的定义 20
2.2.2类成员的定义和访问 21
2.2.3类的构造函数和析构函数 28
2.2.4操作符重载 32
2.2.5类模板和标准模板库 36
2.3消息实体类的设计和实现 47
2.3.1消息实体类的设计 47
2.3.2消息实体类的实现 47
2.4在线用户信息类的设计 49
2.4.1在线用户信息类的定义 50
2.4.2在线用户信息类的实现 50
2.5本章小结 51
2.6思考与练习 51
第3章C++多态性的定义及其应用 52
3.1基类和派生类 52
3.1.1基类和派生类的定义 52
3.1.2基类和派生类成员的定义及其访问 53
3.2基类和派生类的构造及其析构 55
3.2.1基类和派生类的构造函数 55
3.2.2基类和派生类的析构函数 55
3.3多态性在C++中的体现 56
3.3.1静态多态性 56
3.3.2动态多态性 56
3.4实例系统数据库操作类的设计 58
3.5本章小结 60
3.6思考与练习 60
第4章C++的输入/输出流及其应用 61
4.1 C++输入/输出流概述 61
4.1.1 C++的输入/输出流类库 61
4.1.2 C++对流文件的操作 62
4.2>>和<<输入/输出操作符 64
4.2.1>>和<<用于标准输入/输出 64
4.2.2>>和<<用于文件输入/输出 69
4.2.3>>和<<操作符的重载 69
4.3 get)和put)输入/输出函数 71
4.3.1 get()和put()用于标准输入/输出 71
4.3.2 get()和put()用于文件输入/输出 73
4.4 read()和write()输入/输出函数 74
4.4.1 read()和write()用于标准输入/输出 74
4.4.2 read()和write()用于文件输入/输出 74
4.5格式控制 75
4.5.1布尔变量的输出操作控制 75
4.5.2带进制整数的输出操作控制 76
4.5.3浮点数输出操作控制 77
4.5.4输入操作控制 78
4.5.5刷新缓冲区操作控制 78
4.5.6字符设置操作控制 78
4.6实例系统输入/输出类的设计 80
4.6.1输入/输出需求 80
4.6.2输入/输出类的实现 80
4.7本章小结 84
4.8思考与练习 84
第5章Windows程序设计基础 85
5.1概述 85
5.1.1窗口 85
5.1.2事件驱动 85
5.1.3句柄和Windows消息 86
5.2最简单的Windows应用程序 88
5.2.1最简单的Windows应用程序的组成 88
5.2.2最简单的Windows应用程序示例 93
5.3本章小结 95
5.4思考与练习 95
第6章MFC应用程序基础 96
6.1应用程序向导 96
6.2 MFC应用程序中常用Windows标准控件的应用 97
6.2.1按钮控件及其应用 98
6.2.2列表框控件及其应用 104
6.2.3编辑框控件及其应用 107
6.2.4组合框控件及其应用 110
6.2.5对话框通用控件及其应用 111
6.3基于对话框的MFC应用程序在实例系统中的应用 122
6.3.1登录对话框的设计与实现 122
6.3.2添加全局变量和全局函数 128
6.3.3注册对话框的设计与实现 130
6.3.4主界面对话框的设计与实现 133
6.3.5查看联系人信息对话框的设计与实现 136
6.3.6查找联系人类型对话框的设计与实现 142
6.3.7查找联系人结果对话框的设计与实现 144
6.3.8文本聊天对话框的设计与实现 147
6.3.9为实例系统添加自定义消息 151
6.4本章小结 153
6.5思考与练习 153
第7章MFC数据库编程及其应用 154
7.1数据库系统的基本概念 154
7.2 ODBC基本概念 155
7.3 MFC的ODBC类简介 155
7.3.1 CDatabase类 155
7.3.2 CRecordset类 156
7.4设计实例系统数据库 160
7.5注册数据源 161
7.6设计实例系统数据库操作类 162
7.7本章小结 170
7.8思考与练习 170
第8章Windows多线程应用程序及其应用 171
8.1进程和线程 171
8.1.1进程和线程的概念 171
8.1.2线程的创建和终止 171
8.2线程同步 172
8.2.1事件对象 173
8.2.2临界段 175
8.2.3互斥体 177
8.2.4信号计数器 177
8.3线程通信 179
8.3.1利用全局对象进行线程通信 180
8.3.2利用自定义消息进行线程通信 180
8.4设计服务器多线程类 182
8.4.1服务器线程工作流程 182
8.4.2服务器线程类的实现 183
8.5设计客户端多线程类 185
8.5.1客户端线程工作流程 185
8.5.2客户端线程类的实现 186
8.6本章小结 191
8.7思考与练习 191
第9章Winsock编程及其应用 192
9.1网际协议 192
9.1.1 TCP和UDP 192
9.1.2定址 192
9.1.3套接字 195
9.2 Winsock基础 196
9.2.1 Winsock的初始化 196
9.2.2错误检查和控制 196
9.2.3面向连接的协议 196
9.2.4无连接协议 203
9.3利用Winsock完善实例系统 206
9.3.1收发消息类的封装 206
9.3.2完善服务器收发消息线程 209
9.3.3完善服务器消息处理线程 212
9.3.4完善服务器主函数 229
9.3.5完善客户端收发消息线程 231
9.4本章小结 254
9.5思考与练习 254
参考文献 255