图书简介:
本书仍然采用Visual C++ 6.0(中文版)平台,在第4版的基础上进行增减、修改和完善,同时兼顾C++等级考试的内容,从而进一步方便教和学。主要内容包含实用教程、习题、上机操作指导、综合应用实习、附录等部分。“教程”包括C++和Visual C++,C++部分包括基本C++语言和C++面向对象程序设计,Visual C++包括MFC基本应用程序的建立、窗口和对话框、常用控件、基本界面元素、文档和视图、图形和文本、数据库编程等,一般在讲解内容后紧跟实例。“上机操作指导”与教程配套和同步,通过实例先引导操作和编程,然后提出问题思考或在原有基础上自己进行操作和编程练习。“综合应用实习”分为独立的两个部分,分别对C++和Visual C++进行综合应用训练。
本书提供配套的教学课件、教程实例文件、实验文件、综合应用实习源文件等教学资源,同时提供本书二维码扫描配套视频,可从华信教育资源网(www.hxedu.com.cn)免费下载。
本书可作为大学本科、高职高专院校相关课程教材,也可供广大Visual C++应用开发人员参考。
第1部分 实 用 教 程 第1章 基本C++语言 11.1 C++程序结构 11.1.1 C++概述 11.1.2 C++程序创建 11.1.3 C++代码结构 41.2 数据类型和基本输入/输出 51.2.1 基本数据类型 51.2.2 字面常量 71.2.3 变量及其命名规则 91.2.4 标识符常量和枚举 121.2.5 基本输入/输出 131.3 运算符和表达式 151.3.1 算术运算符 151.3.2 赋值运算符 161.3.3 数据类型转换 181.3.4 关系运算符 191.3.5 逻辑运算符 201.3.6 位运算符 201.3.7 条件运算符 211.3.8 sizeof运算符 211.3.9 逗号运算符 211.3.10 自增和自减 221.4 基本语句 231.4.1 顺序语句和块 231.4.2 选择结构语句 241.4.3 循环结构语句 271.4.4 break和continue语句 301.5 函数和预处理 311.5.1 函数的定义和调用 311.5.2 函数的参数传递 331.5.3 带默认形参值的函数 341.5.4 递归函数 351.5.5 内联函数 371.5.6 函数重载 381.5.7 作用域和可见性 391.5.8 存储类型 401.5.9 编译预处理 421.6 数组 461.6.1 一维数组 461.6.2 二维数组 481.6.3 字符数组 501.6.4 数组与函数 511.7 指针和引用 521.7.1 指针和指针变量 521.7.2 &和*运算符 531.7.3 指针运算 541.7.4 指针和数组 551.7.5 指针和函数 571.7.6 new和delete 611.7.7 引用和引用传递 611.8 字符指针和字符串处理 631.8.1 字符指针 631.8.2 带参数的main函数 641.8.3 字符串处理函数 641.9 结构、共用和自定义 661.9.1 结构体 661.9.2 结构体数组 691.9.3 结构体与函数 701.9.4 结构体指针 701.9.5 共用体 711.9.6 使用typedef 72第2章 C++面向对象程序设计 742.1 类和对象 742.1.1 类的定义 742.1.2 对象的定义 762.1.3 类作用域和成员访问权限 762.1.4 构造函数和析构函数 782.1.5 对象赋值和复制 802.1.6 浅复制和深复制 822.1.7 对象成员的初始化 832.2 数据共享和成员特性 852.2.1 静态成员 852.2.2 友元 892.2.3 常类型 932.2.4 this指针 962.3 继承和派生 972.3.1 单继承 982.3.2 派生类的构造函数和析构函数 1002.3.3 多继承 1012.3.4 虚基类 1012.4 多态和虚函数 1042.4.1 多态概述 1052.4.2 虚函数 1052.4.3 纯虚函数和抽象类 1072.5 运算符重载 1082.5.1 运算符重载函数 1082.5.2 运算符重载限制 1092.5.3 友元重载 1102.5.4 转换函数 1122.5.5 赋值运算符的重载 1132.5.6 自增自减运算符的重载 1142.6 输入/输出流 1162.6.1 流类和流对象 1162.6.2 流的格式控制和错误处理 1172.6.3 使用输入/输出成员函数 1202.6.4 提取和插入运算符重载 1222.6.5 文件流及其处理 123第3章 MFC基本应用程序的建立 1313.1 Windows编程基础 1313.1.1 C++的Windows编程 1313.1.2 Windows编程特点 1353.1.3 Windows基本数据类型 1363.2 创建MFC应用程序 1373.2.1 设计一个MFC程序 1373.2.2 理解程序代码 1383.2.3 使用MFC AppWizard 1393.2.4 创建文档应用程序 1403.3 MFC应用程序框架 1433.3.1 项目文件和配置 1433.3.2 项目管理和项目工作区 1443.3.3 MFC程序类结构 1453.4 消息和消息映射 1463.4.1 消息类别 1473.4.2 消息映射和类向导 1473.4.3 消息映射代码框架 1493.4.4 键盘和鼠标消息 1503.4.5 其他窗口消息 1513.5 Visual C++常用操作 1523.5.1 单类的添加和删除 1523.5.2 成员的添加和删除 1533.5.3 文件打开和成员定位 1543.5.4 使用向导工具栏 154第4章 窗口和对话框 1564.1 框架窗口 1564.1.1 主框架窗口和文档窗口 1564.1.2 窗口样式的设置 1574.1.3 窗口状态的改变 1604.2 创建对话框 1624.2.1 创建对话框应用程序 1624.2.2 资源和资源标识 1634.2.3 添加对话框资源 1644.2.4 设置对话框属性 1654.2.5 添加和布局控件 1664.2.6 创建对话框类 1694.2.7 映射WM_INITDIALOG消息 1704.3 使用对话框 1714.3.1 在程序中调用对话框 1714.3.2 使用无模式对话框 1744.4 通用对话框和消息对话框 1764.4.1 通用对话框 1764.4.2 消息对话框 177第5章 常用控件 1795.1 创建和使用控件 1795.1.1 控件的创建方式 1795.1.2 控件的消息及消息映射 1815.1.3 控件类和控件对象 1845.1.4 DDX和DDV 1865.2 静态控件和按钮 1875.2.1 静态控件 1875.2.2 按钮 1885.2.3 示例:制作问卷调查 1895.3 编辑框和旋转按钮控件 1925.3.1 编辑框的属性和通知消息 1925.3.2 编辑框的基本操作 1935.3.3 旋转按钮控件 1945.3.4 示例:用对话框输入学生成绩 1955.4 列表框 1985.4.1 列表框的样式和消息 1985.4.2 列表框的基本操作 1995.4.3 示例:基本课程信息 2005.5 组合框 2035.5.1 组合框的样式类型和消息 2035.5.2 组合框常见操作 2045.5.3 示例:课程号和课程信息 2055.6 进展条和日历控件 2095.6.1 进展条 2095.6.2 DTP控件 2105.6.3 计时器 2105.6.4 示例:自动时间显示 2115.7 滚动条和滑动条 2125.7.1 滚动条 2125.7.2 滑动条 2135.7.3 示例:调整对话框背景颜色 215第6章 基本界面元素 2186.1 图标和光标 2186.1.1 图像编辑器 2186.1.2 图标 2196.1.3 光标 2226.2 菜单 2246.2.1 菜单一般规则 2246.2.2 更改应用程序菜单 2256.2.3 使用键盘快捷键 2266.2.4 菜单的编程控制 2276.2.5 使用快捷菜单 2306.3 工具栏 2326.3.1 使用工具栏编辑器 2326.3.2 工具按钮和菜单项相结合 2346.3.3 多个工具栏的使用 2346.4 状态栏 2376.4.1 状态栏的定义 2376.4.2 状态栏的常用操作 2376.4.3 改变状态栏的风格 2386.5 交互对象的动态更新 239第7章 文档和视图 2417.1 文档模板 2417.1.1 文档模板类 2417.1.2 文档模板字符串资源 2427.2 文档序列化 2437.2.1 文档序列化过程 2437.2.2 CArchive类和序列化操作 2457.2.3 使用简单数组集合类 2477.2.4 类对象序列化 2507.2.5 使用文件对话框和CFile类 2547.2.6 CFile和CArchive类之间的关联 2587.3 一般视图框架 2587.3.1 CEditView和CRichEditView 2597.3.2 CFormView 2597.3.3 CHtmlView 2637.3.4 CScrollView 2637.4 列表视图框架 2637.4.1 图像列表 2637.4.2 列表视图类型和样式 2647.4.3 列表项的基本操作 2657.4.4 列表控件的消息 2667.4.5 示例:列表显示当前的文件 2677.5 树视图框架 2707.5.1 树控件及其样式 2707.5.2 树控件的常用操作 2717.5.3 树视图控件的消息 2727.5.4 示例:遍历本地文件夹 2737.6 文档视图结构 2757.6.1 文档与视图的相互作用 2757.6.2 应用程序对象指针的互调 2767.6.3 切分窗口 2787.6.4 一档多视 280第8章 图形和文本 2868.1 概述 2868.1.1 设备环境类 2868.1.2 坐标映射 2868.1.3 CPoint、CSize和CRect 2888.1.4 颜色和颜色对话框 2908.2 图形设备接口 2918.2.1 使用GDI对象 2918.2.2 画笔 2928.2.3 画刷 2938.2.4 位图 2948.2.5 图形绘制 2968.3 字体与文字处理 3008.3.1 字体和字体对话框 3008.3.2 常用文本输出函数 3028.3.3 文本格式化属性 3048.3.4 计算字符的几何尺寸 3048.3.5 文档内容显示及其字体改变 305第9章 数据库编程 3089.1 数据库和ODBC操作 3089.1.1 数据库基本概念 3089.1.2 常用SQL语句 3099.1.3 Visual C++操作数据库接口 3109.2 MFC ODBC一般操作 3119.2.1 MFC ODBC向导过程 3119.2.2 ODBC数据表绑定更新 3169.2.3 MFC的ODBC类 3179.3 MFC ODBC应用编程 3199.3.1 显示记录总数和当前记录号 3199.3.2 编辑记录 3219.3.3 字段操作 3239.3.4 多表处理 3269.4 ADO数据库编程 3309.4.1 ADO编程的一般过程 3319.4.2 Recordset对象使用 3339.4.3 Command对象使用 335 第2部分 习 题 第1章 基本C++语言 336第2章 C++面向对象程序设计 345第3章 MFC基本应用程序的建立 348第4章 窗口和对话框 348第5章 常用控件 349第6章 基本界面元素 349第7章 文档和视图 349第8章 图形和文本 350第9章 数据库编程 350 第3部分 上机操作指导 实验1 认识Visual C++ 6.0开发环境 351实验内容 351实验准备和说明 351实验步骤 351思考与练习 359实验2 基本数据类型、表达式和基本语句 360实验内容 360实验准备和说明 360实验步骤 360思考与练习 363实验3 函数和预处理 363实验内容 363实验准备和说明 363实验步骤 364思考与练习 366实验4 构造类型、指针和引用 366实验内容 366实验准备和说明 366实验步骤 367思考与练习 369实验5 类和对象、继承和派生 369实验内容 369实验准备和说明 369实验步骤 369思考与练习 372实验6 多态和虚函数、运算符重载 373实验内容 373实验准备和说明 373实验步骤 373思考与练习 377实验7 输入/输出流库 377 实验内容 377实验准备和说明 377实验步骤 377思考与练习 383实验8 窗口、消息及调试 383实验内容 383实验准备和说明 383实验步骤 383思考与练习 388实验9 对话框和按钮控件 389实验内容 389实验准备和说明 389实验步骤 389思考与练习 391实验10 编辑框、列表框和组合框 391实验内容 391实验准备和说明 391实验步骤 391思考与练习 395实验11 进展条、滚动条和滑动条 395实验内容 395实验准备和说明 395实验步骤 396思考与练习 400实验12 基本界面元素 400实验内容 400实验准备和说明 400实验步骤 400思考与练习 404实验13 数据、文档和视图 404实验内容 404实验准备和说明 404实验步骤 404思考与练习 404实验14 图形和文本 405实验内容 405实验准备和说明 405实验步骤 405思考与练习 405实验15 ADO数据库编程 406实验内容 406实验准备和说明 406实验步骤 406思考与练习 413实验16 ODBC数据库编程 413实验内容 413实验准备和说明 413实验步骤 414思考与练习 420 第4部分 综合应用实习 题目1 学生成绩管理程序(C++版) 421所需知识 421难度级别 421目的 421要求 421实现方法 421题目2 学生学习成绩管理程序(MFC版) 427所需知识 427难度级别 427目的 427建议 427要求 427界面设计原则 427方案 428实现方法 429 第5部分 附 录 附录A 运算符优先级和结合性 434附录B 字符串类型和CString类 435
附录C 常用C++库函数及类库 439附录D 匈牙利的命名规则 440
展开
Visual
C++(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境,我国高校的计算机专业和有些非计算机专业已开设C++和VC应用程序设计课程。为了方便教学,2000年,我们编写《Visual C++实用教程》,该书出版后,得到高校教师、学生和读者的广泛认同,先后印刷7次。2003年,我们推出了《Visual C++实用教程(第2版)》,使Visual C++环境下C++及程序设计内容系统化,并且形成了完整体系,先后印刷8次。2007和2012年,我们相继推出了《Visual C++实用教程(第3版)》和《Visual
C++实用教程(第4版)》,教程与实验的内容和分工更进一步优化,删除复杂系统生成代码的分析以及不常使用的较高级内容,这两个版本先后印刷10次和9次。
《Visual C++实用教程(第5版)》仍然采用Visual C++ 6.0(中文版)平台,结合近年来VC教学和应用开发的经验体会,在第4版的基础上进行增减、修改和完善,使说明内容更简洁,知识理解更容易。同时兼顾C++等级考试的内容,从而进一步方便教和学。
本书主要内容包含实用教程、习题、上机操作指导、综合应用实习、附录等部分。“教程”包括C++和Visual
C++,C++部分包括基本C++语言和C++面向对象程序设计,Visual C++包括MFC基本应用程序的建立、窗口和对话框、常用控件、基本界面元素、文档和视图、图形和文本、数据库编程等。一般在讲解内容后紧跟实例,大小实例合理搭配,规模较大的实例和步骤较多的实例分阶段调试运行,使读者步步为营。凡标有[例Ex_Xxx]的实例程序一般都比较完整,且一般都上机调试通过。“习题”部分除第2章和第3章突出C++的基础内容外,其余各章的习题主要是弄清一些基本概念。“上机操作指导”与教程同步更新,使其系统主线更加明确,通过实例一步一步引导读者进行操作和编程(先领进门),然后提出问题思考,并在原来的基础上让读者自己进行操作和编程练习。“试一试”、“想一想”等内容,帮助学生更好地利用本教材学到更多的知识。另外,在第一个C++程序上机时就有一个简单错误排查,在第一个Visual C++程序上机时介绍简单调试。“综合应用实习”仍然为C++和MFC两种实现方式。
本教材各部分内容既相互联系又相对独立,并依据教学特点进行精心编排,方便用户根据自己的需要进行选择。
本书包含部分二维码,通过扫描这些二维码可观看相应的微课视频,这些视频对教程实例和部分内容进行讲解,介绍解决问题过程和要点,回答读者关心的问题,在分析的基础上提高,对解决问题和加深对Visual C++的理解大有帮助。
本书提供配套的教学课件、教程实例文件、实验文件、综合应用实习源文件等教学资源,同时提供本书配套视频,可从华信教育资源网(www.hxedu.com.cn)免费下载。
本教材不仅适合于教学,也非常适合于用Visual C++编程和开发应用程序的用户学习和参考。只要阅读本书,结合上机操作指导进行练习,就能在较短的时间内基本掌握Visual C++及其应用技术。
本书由丁有和(南京师范大学)、苏丹、郑进(军事交通学院)、周怡君(东南大学)编写,郑阿奇(南京师范大学)对全书进行统稿。参加本系列书编写的还有徐文胜、殷红先、陈瀚、陈冬霞、邓拼搏、高茜、刘博宇、彭作民、钱晓军、孙德荣、陶卫冬、吴明祥、王志瑞、徐斌、俞琰、严大牛、张为民、周何骏、于金彬、马骏、周怡明、姜乃松、梁敬东等。还有其他同志对本书的编写提供了许多帮助,在此一并表示感谢!
由于作者水平有限,不妥之处在所难免,恳请读者批评指正。
意见建议邮箱:easybooks@163.com
编 者
展开