编者的话 1
前言 1
第1章 从C到C++ 1
1.1 C++语言的基本要素 2
1.1.1 字符集与保留字 2
1.1.2 数据类型 2
1.1.3 变量 3
1.1.4 常量 4
1.1.5 运算符和表达式 6
1.1.6 过程化语句 9
1.2 输入和输出 14
1.2.1 printf与scanf 14
1.2.2 I/O流控制 15
1.3 函数 16
1.3.1 函数原型 16
1.3.2 全局与局部变量 17
1.3.3 函数调用机制 19
1.3.4 递归函数 20
1.3.5 默认参数的函数 21
1.4 引用 22
1.4.1 引用的概念 22
1.4.2 引用的操作 23
1.4.3 用引用传递参数 25
1.4.4 用引用返回值 26
1.4.5 通过引用返回多个值 28
1.5 习题 29
第2章 类和对象 30
2.1 类 30
2.1.1 结构与类 30
2.1.2 成员函数及其定义方法 32
2.1.3 类存取控制 35
2.1.4 类公有成员(public) 36
2.1.5 类私有成员(Private) 37
2.1.7 友元 38
2.1.6 类保护成员(protected) 38
2.2 构造函数 40
2.2.1 类与对象 40
2.2.2 使用构造函数的必要性 41
2.2.3 构造函数的使用 42
2.2.4 带参数的构造函数 44
2.2.5 多个构造函数 45
2.2.6 默认构造函数 47
2.2.7 复制构造函数 50
2.2.8 构造对象的次序 52
2.3 析构函数 56
2.4 举例 59
2.5 习题 64
第3章 重载 65
3.1 函数重载 65
3.1.1 非成员函数重载 65
3.1.2 成员函数重载 68
3.1.3 默认参数与函数重载 71
3.1.4 参数匹配 72
3.1.5 名字分裂规则 74
3.2 运算符重载 75
3.2.1 运算符重载的必要性 75
3.2.2 运算符用作函数调用 76
3.2.3 重载运算符的规则 76
3.2.4 运算符作为成员函数 77
3.2.5 运算符作为友元函数 80
3.2.6 值返回和引用返回 83
3.3 举例 83
3.4 习题 88
第4章 继承 89
4.1 继承的概念 89
4.2 单一继承 90
4.2.1 派生类的构造 92
4.2.2 作用域的分辨 94
4.2.3 继承与组合 95
4.3 多重继承 96
4.3.1 多重继承的实现方式 96
4.3.2 多重继承的模糊性 98
4.3.3 虚拟继承 98
4.3.4 多重继承的构造顺序 99
4.4 多态性 101
4.4.1 先期联编和迟后联编 101
4.4.2 虚函数 102
4.4.3 函数覆盖 103
4.4.4 空虚函数 105
4.4.5 纯虚函数与抽象类 106
4.5 举例 108
4.6 习题 113
第5章 模板 115
5.1 模板的概念 115
5.2 使用模板的必要性 116
5.2.2 类 117
5.2.1 函数 117
5.3 函数模板 118
5.4 重载模板函数 120
5.5 类模板 121
5.6 举例 124
5.7 习题 127
6.1 第一个Windows应用程序“Hello World!” 128
6.1.1 用WindowsAPI编写“Hello World!”程序 128
第6章 Visual C++程序设计入门 128
6.1.2 用MFCAppwizard来编写“Hello World!”程序 133
6.2 对话框与常用控件 137
6.2.1 静态控件 137
6.2.2 编辑框 138
6.2.3 复选框和单选按钮 138
6.2.4 列表框和组合框 139
6.2.5 基于对话框的应用程序 140
6.2.6 有模式对话框的使用 144
6.3.1 设备环境类 148
6.2.7 无模式对话框的使用 148
6.3 图形设备接口(GDI) 148
6.3.2 CPen类 149
6.3.3 CBrush类 151
6.3.4 CFont类 153
6.3.5 CBitmap类 155
6.3.6 库存的GDI对象 157
6.3.7 绘图的坐标系 157
6.4 小结 158
6.5 习题 158
第7章 用Visual C++设计常用Windows程序 160
7.1 鼠标与键盘 160
7.1.1 鼠标消息的处理 160
7.1.2 键盘消息的处理 163
7.2 单文档与多文档应用程序 168
7.2.1 文档、视图与框架 168
7.2.2 单文档应用程序 169
7.2.3 多文档应用程序 176
7.3 动态链接库 180
7.3.1 动态链接库基础知识 180
7.3.2 编写一个动态链接库 181
7.3.3 在程序中使用动态链接库 183
7.4 小结 187
7.5 习题 188
第8章 Visual C++与数据库访问 189
8.1 通过ODBC访问数据库 189
8.1.1 ODBC数据源 189
8.1.2 MFC与ODBC 190
8.1.3 通过ODBC类访问ODBC数据源应用 191
8.2 使用DAO技术访问数据库 198
8.2.1 MFC与DAO 199
8.2.2 通过DAO访问数据库应用 202
8.3 小结 208
8.4 习题 208