第1章 Visual Studio.NET基础 1
1.1 C++、VC++.NET和VS.NET简介 1
1.2 .NET Framework与Visual Studio.NET之间的关系 2
1.3 .NET Framework 2
1.3.1 公共语言运行时 3
1.3.2 .NET Framework类库 6
1.4 程序集概述 6
1.5 命名空间 7
1.6 创建VC++.NET程序 9
1.7 VC++.NET开发环境 11
1.7.1 VC++.NET应用程序类型 11
1.7.2 IDE窗口概述 12
1.7.3 在IDE窗口中创建应用程序 14
1.8 实验指导 15
1.9 思考与练习 16
第2章 程序结构 17
2.1 数据类型 17
2.2.1 标识符 20
2.2 标识符和关键字 20
2.2.2 关键字 21
2.3 常量和变量 22
2.3.1 常量 22
2.3.2 变量 24
2.4 运算符与表达式 26
2.4.1 算术运算符 26
2.4.2 赋值运算符 27
2.4.3 关系运算符 28
2.4.4 逻辑运算符 28
2.4.5 位运算符 29
2.4.6 条件运算符 29
2.4.7 逗号运算符 30
2.4.8 sizeof运算符 30
2.4.9 运算符的优先级和结合性 30
2.5 程序控制语句 31
2.5.1 选择语句 31
2.5.2 循环语句 36
2.5.3 跳转语句 38
2.6 实验指导 39
2.7 思考与练习 40
第3章 函数 44
3.1 函数的定义 44
3.2 函数的调用 45
3.2.1 函数的调用机制 46
3.2.2 值调用、引用调用和地址调用 48
3.3.1 局部变量 50
3.3 函数与变量的作用域 50
3.3.2 全局变量 51
3.4 递归函数 54
3.5 带有默认参数的函数 58
3.6 函数的重载 60
3.6.1 函数的签名 61
3.6.2 指针参数、引用参数与重载 62
3.6.3 const参数、默认参数与重载 64
3.7 函数模板 66
3.8 实验指导 69
3.9 思考与练习 71
第4章 数组和字符串 75
4.1 数组概述 75
4.2 托管数组与非托管数组 76
4.2.1 定义托管数组 76
4.2.2 引用托管数组元素 78
4.2.3 给托管数组赋值 79
4.2.4 非托管数组 80
4.3 数组和函数 81
4.3.1 传递单个数组元素 81
4.3.2 传递整个数组 82
4.4 数组的应用 83
4.4.1 生成随机数序列 83
4.4.2 排序 85
4.5 字符串 87
4.5.2 托管字符串 88
4.5.1 C++字符串 88
4.6 字符串数组 92
4.7 实验指导 94
4.8 思考与练习 94
第5章 指针与引用 97
5.1 指针的概念 97
5.2 定义指针变量 98
5.3 指针运算符 98
5.4 指针和数组 99
5.5 指针和函数 104
5.5.1 作为形参的指针 104
5.5.2 返回指针的函数 105
5.6 引用 107
5.7 引用与函数 110
5.8 实验指导 113
5.9 思考与练习 114
6.1.1 面向对象思想 117
6.1 对象 117
第6章 类与对象 117
6.1.2 对象与结构的区别 119
6.2 类的定义 119
6.3 类的实现 122
6.3.1 构造函数 122
6.3.2 析构函数 127
6.3.3 访问控制 127
6.3.4 属性 129
6.4 对象数组 132
6.5 对象指针和引用 134
6.5.1 指向类成员的指针 134
6.5.2 对象指针作为函数参数 136
6.5.3 对象引用作为函数参数 137
6.6 实验指导 138
6.7 思考与练习 141
7.1 静态成员 144
7.1.1 静态数据成员 144
第7章 类的更多功能和其他类型 144
7.1.2 静态成员函数 147
7.2 this关键字 148
7.3 结构 149
7.3.1 定义结构 149
7.3.2 结构变量的声明 150
7.3.3 结构成员的引用及初始化 152
7.3.4 结构数组 153
7.4 联合 155
7.5 枚举 156
7.5.1 枚举的声明 156
7.5.2 枚举变量的声明 156
7.6 运算符重载 159
7.6.1 重载的特点 159
7.6.2 重载运算符的应用 160
7.7 实验指导 162
7.8 思考与练习 163
8.1 继承的基本概念 166
第8章 继承与多态性 166
8.2 继承和构造函数 168
8.2.1 继承的实现 168
8.2.2 继承关系中构造函数的调用 170
8.3 虚函数和多态性 173
8.3.1 虚函数 173
8.3.2 多态性 174
8.4 纯虚函数和抽象类 176
8.5 接口与委托 177
8.5.1 接口 178
8.5.2 委托 179
8.6 装箱与拆箱 181
8.7 实验指导 182
8.8 思考与练习 185
第9章 异常处理 191
9.1 异常处理基础知识 191
9.2.1 C++异常处理基础知识 192
9.2 C++异常处理 192
9.2.2 使用多重catch语句 195
9.2.3 捕获任何异常 197
9.2.4 抛出指定的异常 198
9.2.5 重新抛出异常 199
9.3 结构化异常处理 200
9.4 C++托管异常处理 204
9.4.1 C++托管异常处理基础知识 204
9.4.2 .NET Framework中的标准异常类 205
9.4.3 使用标准异常类 206
9.4.4 使用自定义异常类 207
9.5 实验指导 208
9.6 思考与练习 209
第10章 Windows窗体设计 211
10.1 设计窗体 211
10.1.1 了解窗体 211
10.1.2 Windows窗体控件开发基础 212
10.1.4 窗体及其属性 214
10.1.3 窗体和控件的定位和布局 214
10.2 创建窗体 216
10.2.1 手动创建窗体 217
10.2.2 使用项目模板创建窗体 218
10.3 解决方案 221
10.4 常用控件 222
10.4.1 Timer控件 223
10.4.2 菜单和菜单项 224
10.4.3 CheckBox控件 226
10.4.4 Label和TextBox控件 227
10.4.5 Button控件 228
10.4.6 ScrollBar控件 230
10.4.7 GroupBox和Panel控件 231
10.4.8 RadioButton控件 233
10.4.9 ListBox和ComboBox控件 233
10.4.10 ToolTip控件 235
10.6 事件处理程序简介 237
10.5 Tab的顺序 237
10.7 动态事件处理 240
10.8 解决方案部分代码的解释 242
10.9 实验指导 246
10.10 思考与练习 248
第11章 MDI程序设计 251
11.1 MDI概述 251
11.1.1 界面设计原则 251
11.1.2 MDI程序的特征 252
11.2 完整的解决方案 253
11.3 MDI的应用 255
11.4 标准窗体的作用 257
11.5 菜单和应用程序 258
11.5.1 合并菜单 258
11.5.2 替换与删除菜单及菜单项 259
11.5.3 合并菜单项 260
11.5.4 上下文菜单 262
11.5.5 MDI事件关系 263
11.6 使用RichTextBox控件 266
11.7 格式化多功能文本框 270
11.7.1 设置颜色 270
11.7.2 设置字体 271
11.8 缩放 275
11.9 Web页链接 275
11.10 实验指导 276
11.11 思考与练习 278
第12章 文件操作与基本数据结构 281
12.1 预览本章解决方案 281
12.2 System∷IO命名空间概述 283
12.2.1 目录与文件管理 283
12.2.2 File类 288
12.3 使用OpenFileDialog和SaveFileDialog控件 290
12.3.1 Filter属性 291
12.3.2 使用OpenFileDialog控件 291
12.4.1 使用StreamReader类读取顺序文件 292
12.4 读写顺序文件 292
12.4.2 使用StreamWriter类写入文件 294
12.5 ArrayList类 295
12.5.1 管理呼叫记录 296
12.5.2 打开文件并读取到ArrayList 297
12.5.3 在ArrayList中查看记录 299
12.5.4 在ArrayList中添加、修改和删除记录 301
12.5.5 保存ArrayList 303
12.5.6 枚举ArrayList 304
12.6 SortedList类 305
12.6.1 在SortedList中定位项目 306
12.6.2 在SortedList中添加、修改和删除记录 306
12.7 队列 307
12.7.1 创建队列 308
12.8 堆栈 309
12.9 打开与读写随机文件 310
12.9.1 FileStream类、BinaryReader类和BinaryWriter类 310
12.9.2 打开并读写随机文件 311
12.10 实验指导 315
12.11 思考与练习 317
第13章 ADO.NET概述 319
13.1 学生信息管理系统 319
13.2 ADO.NET模型 320
13.3 OleDbConnection 321
13.3.1 创建OleDbConnection组件实例 323
13.4 OleDbDataAdapter 324
13.3.2 发送命令操作 324
13.4.1 OleDbCommand 325
13.4.2 配置OleDbDataAdapter 326
13.4.3 表映射 327
13.4.4 填充DataSet 327
13.5 DataSet结构 328
13.5.1 DataSet成员 328
13.5.2 DataTable 329
13.5.3 在DataTable中导航 331
13.6.1 添加记录 333
13.6 修改DataTable中的数据 333
13.6.2 修改记录 335
13.6.3 删除记录 336
13.7 参数化查询 336
13.8 更新数据库 338
13.8.1 配置InsertCommand 339
13.8.2 配置UpdateCommand 340
13.8.3 配置DeleteCommand 340
13.9 自动创建ADO.NET组件 341
13.10 数据绑定 343
13.11 DataGrid控件 345
13.12 DataReader 349
13.12.1 理解DataReader 349
13.12.2 OleDbDataReader查看系别信息 351
13.13 实验指导 352
13.14 思考与练习 354
14.1 预览解决方案 357
第14章 绘图与GDI+ 357
14.2 了解GDI+ 358
14.2.1 GDI+提供的服务及其新增特性 358
14.2.2 GDI+中的基本托管类 359
14.2.3 GDI+中的常用结构 363
14.3 图形绘制 366
14.3.1 图形绘制基础知识 366
14.3.2 画笔与画线 369
14.3.3 画刷与绘制可填充图形 373
14.3.4 绘制文本 377
14.3.5 坐标变换与绘制复杂图形 379
14.3.6 绘制和保存图像 381
14.4 使用基本图形绘制图表 385
14.4.1 绘制条形图 387
14.4.2 绘制饼形图 389
14.5 实验指导 391
14.6 思考与练习 392
附录 思考与练习答案 395