登录 注册
当前位置:主页 > 资源下载 > 42 > Visual C 2008程序设计完全自学教程.pdf下载

Visual C 2008程序设计完全自学教程.pdf下载

  • 更新:2024-10-25 14:22:43
  • 大小:35.44MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:C++ - 后端
  • 格式:PDF

资源介绍

第一篇 Visual C++ 2008基础知识 第1章 开始使用Visual C++ 2008 1 1.1 .NET Framework 3.5 1 1.1.1 什么是.NET Framework 1 1.1.2 公共语言运行库CLR 2 1.1.3 .NET Framework类库 2 1.1.4 .NET Framework 3.5的新功能 3 1.2 C++应用程序 3 1.3 Visual C++ 2008与Visual Studio 2008 4 1.4 控制台应用程序 7 1.4.1 Win32控制台应用程序 7 1.4.2 创建CLR控制台程序 10 1.5 创建Windows应用程序 11 1.5.1 创建MFC应用程序 12 1.5.2 创建Windows Forms应用程序 13 第2章 变量和表达式 15 2.1 C++的基本语法 15 2.1.1 程序的结构 15 2.1.2 注释 18 2.1.3 #include指令 19 2.1.4 命名空间 19 2.1.5 程序块 20 2.2 变量和常量 21 2.2.1 定义变量 21 2.2.2 常量和符号常量 22 2.3 基本数据类型 23 2.3.1 整型 23 2.3.2 字符类型 24 2.3.3 布尔类型 25 2.3.4 浮点类型 25 2.3.5 定义数据类型的别名 26 2.4 输入与输出表达式 26 2.4.1 标准I/O流 27 2.4.2 格式化输出 27 2.5 运算符与表达式 31 2.5.1 算术运算 31 2.5.2 赋值运算 36 2.5.3 逗号运算 37 2.5.4 关系运算 38 2.5.5 逻辑运算 39 2.5.6 位运算 41 2.6 C++/CLI的应用(托管C++) 43 2.6.1 C++/CLI的基本数据类型 43 2.6.2 C++/CLI格式化输出 45 2.6.3 C++/CLI的键盘输入 47 2.6.4 safe_cast安全类型转换 47 第3章 流程控制结构 48 3.1 条件语句 48 3.1.1 if语句 48 3.1.2 条件运算符 53 3.1.3 switch语句 54 3.2 循环语句 56 3.2.1 while语句 57 3.2.2 do-while语句 59 3.2.3 for语句 60 3.2.4 嵌套循环 62 3.3 跳转结构 63 3.3.1 break语句 63 3.3.2 continue语句 65 3.3.3 goto语句 67 3.4 C++/CLI的应用 68 第4章 数组和字符串 71 4.1 数组概述 71 4.1.1 定义数组 71 4.1.2 引用数组元素 72 4.1.3 初始化 73 4.2 多维数据 74 4.2.1 多维数组的定义 75 4.2.2 多维数组的初始化 76 4.3 数组的应用 78 4.3.1 排序 78 4.3.2 倒置矩阵 84 4.4 字符数组和字符串 85 4.4.1 字符数组 85 4.4.2 string字符串 86 4.4.3 使用string字符串 87 4.4.4 Unicode字符串 92 4.5 C++/CLI的应用 92 4.5.1 CLR数组 92 4.5.2 CLR字符串 95 第5章 函数 97 5.1 函数的定义 97 5.2 函数的参数和返回值 98 5.2.1 实参与形参 98 5.2.2 函数的返回值 101 5.2.3 使用const修饰符的函数形参 102 5.3 函数的调用 102 5.3.1 函数调用机制 103 5.3.2 函数原型 104 5.4 函数的递归调用 105 5.5 函数的默认参数值 108 5.6 函数和数组 109 5.7 函数与变量的作用域 111 5.7.1 局部变量 111 5.7.2 全局变量 113 5.8 变量的生存期 114 5.8.1 自动变量 115 5.8.2 静态变量 116 5.9 函数的重载 117 5.10 函数模板 119 5.11 C++/CLI的应用 122 5.11.1 接收数量可变的实参 122 5.11.2 泛型函数 123 第6章 指针与引用 126 6.1 指针的概念 126 6.2 声明指针变量 126 6.3 指针运算符 127 6.3.1 取地址运算符 127 6.3.2 间接运算符 128 6.4 指针变量的初始化 129 6.5 指针和数组 130 6.5.1 使用指针法引用数组元素 130 6.5.2 使用指针处理多维数组 133 6.6 指针和函数 135 6.6.1 作为形参的指针 135 6.6.2 返回指针的函数 137 6.6.3 函数指针 139 6.7 常量指针和指针常量 140 6.7.1 指向常量的指针 140 6.7.2 指针常量 142 6.8 指向char类型的指针变量 143 6.9 动态内存的分配 145 6.9.1 堆与new和delete运算符 145 6.9.2 数组的动态分配内存 146 6.10 引用 149 6.11 C++/CLI中的指针与引用 151 6.11.1 跟踪句柄 151 6.11.2 跟踪引用 153 第7章 程序文件和预处理指令 154 7.1 使用头文件 154 7.2 外部名称 156 7.3 命名空间 157 7.3.1 声明命名空间 157 7.3.2 未指定名称的命名空间 159 7.3.3 嵌套的命名空间 160 7.4 预处理指令 160 7.4.1 文件包含 160 7.4.2 宏定义 161 7.4.3 条件编译 162 7.4.4 #error和#pragma指令 164 第二篇 C++面向对象的程序开发 第8章 自定义数据类型 167 8.1 结构 167 8.1.1 定义结构 167 8.1.2 访问结构成员 168 8.1.3 结构与指针 169 8.2 联合 171 8.2.1 定义联合 172 8.2.2 匿名联合 173 8.3 枚举 174 8.4 类的概念与定义 175 8.4.1 定义类 176 8.4.2 创建类的对象 176 8.4.3 访问类的数据成员 177 8.4.4 为类添加成员函数 178 8.5 类的构造函数 180 8.5.1 构造函数的使用 180 8.5.2 类的默认构造函数 182 8.5.3 默认的初始化值 184 8.5.4 构造函数中的初始化列表 186 8.6 类的析构函数 186 8.7 类的私有成员 189 8.8 C++/CLI中的枚举 191 8.9 C++/CLI中的类和对象 193 8.9.1 数值类类型 193 8.9.2 引用类类型 195 8.9.3 类属性 197 第9章 类的更多功能 203 9.1 对象数组 203 9.2 对象的指针与引用 205 9.2.1 对象的指针 205 9.2.2 对象的引用 207 9.3 this指针 207 9.4 类的静态成员 209 9.4.1 静态数据成员 209 9.4.2 静态成员函数 211 9.5 复制构造函数 212 9.6 类的友元 215 9.6.1 类的友元函数 216 9.6.2 友元类 219 9.7 重载运算符重载 220 9.7.1 重载运算符的概述 220 9.7.2 重载双目运算符 221 9.7.3 重载增量运算符 223 9.8 类模板 224 9.8.1 定义类模板 225 9.8.2 根据类模板创建对象 227 9.9 C++/CLI的应用 231 9.9.1 在数值类中重载运算符 231 9.9.2 重载数值类的递增和递减运 算符 233 9.9.3 重载引用类运算符 234 第10章 继承与多态性 236 10.1 继承的基本概念 236 10.1.1 类的层次关系 236 10.1.2 派生类对象的结构 238 10.2 继承机制下的访问控制 238 10.2.1 访问父类成员 239 10.2.2 继承方式 243 10.3 派生类的构造函数 246 10.4 派生类的析构函数 248 10.5 派生类的复制构造函数 249 10.6 多重继承 252 10.7 在相关的类类型之间转换 254 10.8 理解多态性 256 10.8.1 虚函数 257 10.8.2 使用虚函数的原则 260 10.9 纯虚函数和抽象类 263 10.9.1 纯虚函数 263 10.9.2 抽象类 263 10.10 C++/CLI的应用 265 10.10.1 装箱与拆箱 265 10.10.2 C++/CLI中的继承 266 10.10.3 接口类 268 10.10.4 委托和事件 270 第11章 标准模板库 277 11.1 标准模板库概述 277 11.1.1 STL容器 277 11.1.2 STL迭代器 280 11.1.3 STL算法 281 11.1.4 STL头文件 281 11.2 顺序容器 282 11.2.1 vector顺序容器 282 11.2.2 deque顺序容器 289 11.2.3 使用list容器 290 11.3 容器适配器 292 11.3.1 队列容器 292 11.3.2 优先级容器 294 11.3.3 堆栈容器 296 11.4 关联容器 298 11.4.1 使用映射容器 298 11.4.2 使用多重映射容器 301 11.5 迭代器 303 11.5.1 输入流迭代器 303 11.5.2 输出流迭代器 304 11.5.3 插入迭代器 305 11.6 算法 307 11.6.1 fill、fill_n、generate与 generate_n 307 11.6.2 数学算法 308 11.7 C++/CLI中的STL 309 11.7.1 STL/CLR顺序容器 309 11.7.2 STL/CLR关联容器 311 第12章 异常处理 314 12.1 异常的概念 314 12.2 捕获异常 315 12.2.1 try-catch块 316 12.2.2 捕获所有的异常 318 12.3 抛出异常的函数 319 12.4 标准异常类 320 12.5 MFC异常 321 第三篇 Windows应用程序开发 第13章 创建Windows应用程序 323 13.1 认识Windows应用程序 323 13.1.1 窗口 323 13.1.2 Windows程序的工作过程 324 13.1.3 Windows API 325 13.2 Windows程序结构 325 13.2.1 Windows数据类型 325 13.2.2 入口函数 327 13.2.3 窗口过程函数 335 13.2.4 一个简单Windows程序 337 13.3 使用MFC 339 13.4 使用Windows Forms 342 第14章 使用MFC创建Windows程序 344 14.1 MFC概述 344 14.1.1 MFC和Win32 344 14.1.2 MFC类库 345 14.1.3 MFC应用程序的运行 346 14.1.4 MFC中的全局函数 347 14.2 创建MFC应用程序 347 14.2.1 创建SimpleEditor应用程序 347 14.2.2 管理项目 351 14.3 代码分析 352 14.3.1 应用程序类CSimpleEditorApp 352 14.3.2 主框架窗口类CMainFrame 355 14.3.3 文档类CSimpleEditor 356 14.3.4 视图类CSimpleEditorView 357 14.3.5 预编译头文件stdafx.h 359 第15章 消息和命令 360 15.1 与Windows进行通信 360 15.1.1 了解消息映射 360 15.1.2 处理不同类型的消息 362 15.2 获取鼠标输入 363 15.2.1 客户区鼠标消息 363 15.2.2 非客户区鼠标消息 368 15.2.3 WM_NCHITTEST消息 370 15.2.4 鼠标滚轮消息 370 15.2.5 捕获鼠标 372 15.3 获取键盘输入 373 15.3.1 输入焦点 373 15.3.2 按键消息 373 15.3.3 字符消息 375 15.3.4 插入符 376 15.4 定时器消息 380 15.4.1 WM_TIMER消息 380 15.4.2 回调函数设置定时器 382 15.5 自定义消息 383 第16章 菜单 386 16.1 菜单 386 16.1.1 利用资源编辑器编辑菜单 386 16.1.2 菜单消息 389 16.1.3 添加消息处理代码 390 16.1.4 菜单命令范围 393 16.1.5 更新菜单项 394 16.1.6 菜单更新范围 396 16.2 快捷键 397 16.3 动态更改菜单 398 16.3.1 手工编辑创建菜单 398 16.3.2 修改现有菜单 399 16.3.3 系统菜单 401 16.4 快捷菜单 401 16.5 在C++/CLI程序中使用菜单 403 16.5.1 理解Windows Forms应用程序 403 16.5.2 MDI窗口 406 16.5.3 活动子窗体 408 16.5.4 排列子窗体 411 16.5.5 合并菜单 412 16.5.6 替换和删除菜单 415 16.5.7 快捷菜单 417 第17章 在窗口中绘图 419 17.1 Windows GDI 419 17.1.1 MFC设备描述表类 419 17.1.2 设备描述表的属性 420 17.1.3 绘图模式 421 17.1.4 映射模式 422 17.1.5 移动坐标原点 423 17.1.6 获取设备信息 424 17.2 用GDI绘图 425 17.2.1 应用程序中的视图类 425 17.2.2 绘制直线和曲线 426 17.2.3 绘制椭圆和矩形 429 17.2.4 画笔 429 17.2.5 画刷 431 17.2.6 绘制文本 432 17.2.7 字体 434 17.2.8 预定义对象 438 17.3 使用鼠标绘图 439 17.3.1 绘制图形分析 439 17.3.2 创建绘图类 440 17.3.3 完成基类CShape 442 17.3.4 绘制直线 443 17.3.5 完成其他派生类 444 17.3.6 创建绘图类对象 447 17.3.7 捕获鼠标消息 452 17.3.8 保存绘图对象 453 17.4 使用GDI+绘图 454 17.4.1 了解GDI+ 454 17.4.2 图形操作 455 17.4.3 坐标和区域 458 17.4.4 使用Font类绘制文本 459 17.4.5 图像操作 462 第18章 对话框和控件 464 18.1 理解对话框和控件 464 18.2 传统控件 465 18.2.1 CButton类 465 18.2.2 CListBox类 469 18.2.3 CStatic类 471 18.2.4 CEdit类 472 18.2.5 CComboBox类 475 18.2.6 CScrollBar类 477 18.3 高级控件编辑 478 18.3.1 添加键盘接口 478 18.3.2 修改控件行为 479 18.4 对话框 480 18.4.1 对话框模板 480 18.4.2 CDialog类 483 18.4.3 创建模式对话框 484 18.4.4 创建无模式对话框 486 18.4.5 对话框数据交换与校验 487 18.4.6 与对话框控件的交互 490 18.5 AddressBook程序 491 18.6 基于对话框的程序 495 18.6.1 计算器程序分析 496 18.6.2 设计MyCalculator类 497 18.6.3 设计对话框类CCalculatorDlg 498 18.7 通用对话框 502 18.7.1 文件对话框类 502 18.7.2 字体对话框类 503 18.7.3 颜色对话框类 504 18.7.4 打印对话框类 504 18.8 Windows Forms窗体 505 18.9 Windows Forms控件 506 18.9.1 控件类 506 18.9.2 Button控件 508 18.9.3 RadioButton和CheckBox控件 509 18.9.4 GroupBox控件 510 18.9.5 Label和LinkLabel控件 510 18.9.6 TextBox控件 511 18.9.7 RichTextBox控件 515 18.9.8 ListBox和CheckedListBox 控件 517 第19章 文件和串行化 519 19.1 操作文件的几种方式 519 19.1.1 使用CRT函数std::fxxx() 519 19.1.2 使用标准C++库std::fstream 521 19.1.3 使用Windows API函数 523 19.2 CFile类 525 19.2.1 打开、关闭和创建文件 525 19.2.2 文件的读和写 528 19.2.3 CFile类的派生类 529 19.3 串行化 530 19.3.1 串行化基础 530 19.3.2 创建可串行化类 532 19.3.3 为AddressBook程序添加串行化 功能 532 19.4 访问XML文件 535 19.4.1 XML文档 535 19.4.2 解析XML文档 540 19.4.3 选择节点 546 19.5 CLR中的文件操作 552 19.6 路径、目录和文件 553 19.6.1 Directory和File类 553 19.6.2 DirectoryInfo和FileInfo类 555 19.7 流和存取文件 557 19.7.1 FileStream对象 557 19.7.2 StreamReader类 560 19.7.3 StreamWriter类 561 19.8 访问二进制文件 562 第20章 动态链接库与钩子 564 20.1 了解DLL 564 20.2 静态链接库 566 20.3 常规DLL 568 20.3.1 一个简单的常规DLL 569 20.3.2 声明导出函数 571 20.3.3 DLL的调用方式 573 20.3.4 调用约定与名称改编 574 20.3.5 导出变量 575 20.3.6 导出类 576 20.3.7 DLL的入口函数 579 20.4 MFC规则DLL 580 20.4.1 静态链接MFC DLL的规则 DLL 580 20.4.2 共享MFC DLL的规则DLL 582 20.5 MFC扩展DLL 583 20.6 Windows钩子 586 20.6.1 认识HOOK钩子 586 20.6.2 钩子的安装与卸载 587 20.6.3 键盘钩子 588 第四篇 数据库访问 第21章 使用ODBC数据源 593 21.1 数据库访问技术 593 21.1.1 ODBC API 593 21.1.2 ODBC的MFC类 594 21.1.3 DAO与RDO 594 21.1.4 OLE DB与ADO 595 21.2 MFC ODBC类 596 21.2.1 CDatabase类 596 21.2.2 CRecordSet类 597 21.3 注册数据源和示例数据库 597 21.4 创建数据库应用程序 599 21.4.1 了解记录集 600 21.4.2 了解记录视图 603 21.4.3 创建视图对话框 605 21.4.4 对记录排序 606 21.5 多表操作 607 21.5.1 添加记录集 607 21.5.2 添加记录视图类 608 21.5.3 过滤数据 609 21.5.4 显示多个记录视图 610 21.6 更新操作 613 21.6.1 更新CRecordSet记录集 614 21.6.2 事务 615 21.7 向表添加数据 616 21.7.1 添加订单的逻辑处理 616 21.7.2 创建记录集视图 617 21.7.3 对话框切换 620 21.7.4 创建订单编号 621 21.7.5 订单数据 623 21.7.6 为订单选择产品 624 21.7.7 添加新订单 625 第22章 数据库和ADO.N E T 628 22.1 ADO.N E T概述 628 22.1.1 ADO.N E T的设计目标 628 22.1.2 ADO.N E T体系结构 629 22.1.3 System::Data命名空间 630 22.2 使用DataReader 632 22.3 使用DataSet 636 22.3.1 读取数据 636 22.3.2 修改数据 639 22.3.3 保存DataSet对数据的修改 643 22.4 在DataSet中访问多个表 645 22.4.1 ADO.N E T中的关系 645 22.4.2 导航关系 645 22.5 使用数据控件 648 22.5.1 DataGridView控件 649 22.5.2 数据绑定 654