从零开始学Visual C++(含盘)
书 号:9787113116361
丛 书 名:
作 者:杨舟
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:55元
-
内容简介
本书在创作时,秉承“做中学”的思想,即在“实例中理解抽象的概念”。让读者在学习新内容的同时,掌握到一种到多种新概念的简单应用。因此,基本每一个新概念都会有一个实例与之配套。希望读者再学习新知识的同时,能仔细的阅读相关的实例。这对读者理解和掌握新概念,无疑有百利而无一害。毕竟,C++语言是一种实用性极高的程序设计语言,如果不从实例中学习,很难把握新知识的具体含义和应用方法。在每一个实例中,都含有具体的程序代码,程序运行结果和本例的一些扩展知识。通过这三方面的内容,读者应该可以完全理解实例,并牢牢掌握新的概念。每一个实例中的关键步骤都有详细的注释,以帮助读者理解程序的设计思想。对于VC6.0集成开发环境的应用,或者程序在设计过程中的一些设置,本书都配有详细的图示,帮助读者形象的完成程序设计。同时,本书强调程序设计的风格,希望读者严格按照本书的推荐格式进行程序设计。毕竟良好的程序设计习惯可以极大的加强程序的可读性。本书在创作时,为了让读者能掌握一些程序设计的基础内容,还穿插了一些基本的算法设计思想,数据结构设计方法等,帮助读者能快速的过度都程序设计的进一步学习中。 -
前言
前言
虽然目前Visual C++的版本已经到了9.0,但是使用起来并没有Visual C++ 6.0方便、快速,有时程序的效率、体积也不如Visual C++ 6.0,所以本书仍旧使用Visual C++ 6.0为读者讲解Visual C++的开发方法。希望读者不要忽视了学习Visual C++的基础方法。作为入门级别的教程,本书采用多图、多代码、多注释、多实例的方式。使读者可以更好地理解Visual C++开发的知识点、程序原理等。
为了更好地提高读者学习Visual C++的兴趣,本书介绍了一些常用程序的开发方法。例如算法、函数、面向对象、指针、MFC、模板等。书中没有长篇大论地讲解发展史、抽象概念等内容,所以读者在学习每一章时,会很快进入代码的认识阶段。
本书的特点
为了便于读者学习,我们特别强化以下方面,如下图所示。
? 知识点的讲解:准确、较强的说明性文字一般放在每节的开头,使读者对相关概念有一个清晰的定义。
? 语法介绍:给出了书中所涉及的基本语法,为后面的编码打好基础。
? 操作步骤:准确、完整,读者只需要按照步骤操作便能实现。
? 翔尽的实例:重要的知识点或者语法都对应了典型的实例,便于读者更好地理解。
? 代码:给出了书中实例的关键代码,并对代码进行了详细的注释,便于读者阅读和理解。
? 温馨的提示:在讲解过程中穿插了一些需要读者注意或者会造成灾难性后果的问题。
? 提示:表示一些小知识或者“题外话”。
? 注意:需要读者引起注意和重视的知识点。
? 警告:提醒读者会引起灾难性后果的问题。
? 运行结果:书中的实例代码的运行结果。
? 习题:提供了课后习题供读者巩固和提高,题型丰富,包括了简答题、填空题、选择题、操作题等。
1.注重实例教学
本书在创作时,秉承“做中学”的思想,即在“实例中理解抽象的概念”。让读者在学习新内容的同时,掌握多种新概念的简单应用。因此,基本上每一个新概念都会有与之配套的一个实例。希望读者在学习新知识的同时,能仔细地阅读相关的实例,这对理解和掌握新概念是有益的。C++语言是一种实用性极高的程序设计语言,如果不从实例中学习,很难把握新知识的具体含义和应用方法。
2.操作步骤详细,代码注释丰富
在每一个实例中,都含有具体的程序代码、程序运行结果和本例的一些扩展知识。通过这三方面的内容,读者可以理解实例,并牢牢掌握新的概念。每一个实例中的关键步骤都有详细的注释,以帮助读者了解程序的设计思想。
3.图文并茂,风格独特
对于Visual C++ 6.0集成开发环境的应用,以及程序在设计过程中的一些设置,本书都配有详细的图示,帮助读者完成程序设计。同时,本书强调程序设计的风格,希望读者严格按照本书的推荐格式进行程序设计。因为,良好的程序设计习惯可以极大地加强程序的可读性。
4.对数据结构和算法进行必要讲解
本书在创作时,为了让读者能掌握一些程序设计的基础内容,还穿插了一些基本的算法设计思想、数据结构设计方法等,帮助读者快速过渡到程序设计的进一步学习之中。
5.赠送超值多媒体视频与教学PPT文件
我们尽量简化读者的操作,力求读者通过单击等简单操作就能方便地使用光盘。我们精心录制了长达近9小时的专业教学视频,对书中的重点知识和示例进行演示说明,以便读者轻松理解所学内容。
将随书光盘放入光驱后,即可进入运行主界面,如下图所示。
6.精心组织的源代码
源代码按照图书章节依次排列,双击即可进入对应的章节文件夹,如下图所示。
本书的内容安排
本书共分为4篇、19章:首先从C++语言的基础讲起,虽然基础知识比较枯燥,但本书尽量让读者能够轻松地掌握这些内容。接着介绍了使用MFC设计Windows程序,并提供了一些具体的应用实例。这些作为读者深入学习C++以及Visual C++ 6.0集成开发环境的内容,能够向读者展现C++程序设计语言的魅力和实际应用价值。
第1篇(第1~10章)基础篇
本篇讲述了Visual C++ 6.0集成开发环境的基本操作方式,以方便读者以后的程序设计。重点介绍了C++的基础数据类型、运算符、输入/输出方法、语句语法等程序设计语言的基本内容,并介绍了C++的函数定义方法,向读者展示了C++程序的基本结构。在后面的内容中,还着重介绍了类的概念,这是C++区别于C语言最大的特点,它体现了程序的封装性,是学习设计大型程序的重要工具。本篇还简要介绍了一些输入/输出流的控制,以及异常处理的内容。
第2篇(第11~12章)MFC篇
本篇主要讲述了MFC体系下的Windows应用程序结构,并初步介绍了如何使用MFC进行Windows的程序设计。这一篇对于后面两篇的学习起着很重要的作用,是后面两篇的基础。
第3篇(第13~16章)应用篇
本篇具体介绍了MFC设计的Windows应用程序在ActiveX控件、数据库以及网络编程中的应用方法。读者通过这几章的学习,应能理解本书提供的相关领域的每个程序,以及这些程序的设计思想。第16章是C++程序与MATLAB的联合编程,帮助读者理解如何使用C++语言与其他实用程序进行信息交互,本章的内容可能比较难懂,需要读者具有一定的MATLAB知识,有兴趣的读者可以尝试了解。
第4篇(第17~19章)实例篇
本篇主要列举了三个MFC设计的Windows程序实例。这些实例基本是完整的、可直接运用的程序。它们对于读者理解和复习MFC程序设计的方法有着重要的作用。这些实例当然还有不完善的地方,读者还可以在本书的基础上进行功能的进一步扩充。
本书由浅入深,理论结合实践,适合初学者逐步学习,并适合已经学习过一些程序设计课程的读者完善自己的知识结构。
适合阅读本书的读者
? 从未接触过程序设计,不具备程序设计思想的初学者。
? 希望了解和掌握C++语言程序的读者。
? 希望具有牢固程序设计基础的读者。
? 希望使用MFC进行Windows编程的读者。
? 希望进行C++语言和MATLAB联合编程的程序设计者。
? 希望掌握一些MFC编程实例的具有一定MFC程序设计经验的读者。
本书作者
本书主要由杨舟编写。其他参与编写的人员有陈强、陈燕、丁凤霞、丁礼友、范忠诚、黄俊灿、贾伟、李喜彤、林垚、尚文谊、孙亮亮、唐崇敏、陶则熙、王龙、王拥东、吴善才、徐砚颖、尹健慧、詹涵林、张薇、张小强、张运端、赵玉荣、郑慧、朱博、朱朝坤、邹小红。在此一并表示感谢!
由于时间仓促,加之水平有限,书中的疏漏和不足之处在所难免,敬请读者批评指正。如果读者在阅读本书的时候出现任何疑问,还可以发送电子邮件及时与我们联系,我们会尽快给予答复。我们的邮箱是HappySAnts@163.com或zhangshuqiangbooks@163.com。
编 者
2010年7月 -
目录
目 录
第1篇 基础篇
第1章 Visual C++ 6.0集成开发环境( 教学视频:16分钟) 2
1.1 Visual C++ 6.0概述 2
1.1.1 C语言概述及C++的诞生 2
1.1.2 C++特点与VC++开发环境 3
1.2 Visual C++ 6.0集成开发环境概述 3
1.2.1 外观及基本操作 3
1.2.2 Visual C++向导 5
1.2.3 调试工具 5
1.3 自定义集成开发环境 6
1.3.1 自定义工具栏 6
1.3.2 自定义实用程序工具 7
1.3.3 自定义快捷键 8
1.4 简单的C++程序实例 8
1.4.1 创建工程和源文件 8
1.4.2 添加代码 9
1.5 小结 11
1.6 习题 11
第2章 C++基础知识( 教学视频:14分钟) 12
2.1 C++的词法单位 12
2.2 C++的数据类型 13
2.3 枚举类型 15
2.4 变量和常量 15
2.4.1 变量 15
2.4.2 文字常量 16
2.4.3 常变量 19
2.4.4 枚举变量的使用 19
2.5 运算符和表达式 20
2.5.1 C++的运算符、优先级和结合性 20
2.5.2 关系运算符和关系表达式 25
2.5.3 逻辑运算符和逻辑表达式 27
2.5.4 语句 32
2.6 数据类型转换 33
2.6.1 自动转换 34
2.6.2 强制类型转换 34
2.7 数组简介 35
2.7.1 数组 35
2.7.2 字符数组 37
2.8 简单的C++输入/输出 37
2.8.1 数据的输入/输出 38
2.8.2 输入/输出格式控制 40
2.9 头文件的作用 40
2.10 程序编码规范 41
2.10.1 命名规则 41
2.10.2 注释 42
2.10.3 统一代码缩进 42
2.11 小结 43
2.12 习题 43
第3章 基本控制结构( 教学视频:18分钟) 45
3.1 算法 45
3.1.1 算法的概念 45
3.1.2 算法的表示 45
3.1.3 算法的3种基本结构 46
3.2 分支结构 47
3.2.1 if语句 47
3.2.2 switch语句 51
3.3 循环结构 54
3.3.1 while语句 54
3.3.2 do…while语句 55
3.3.3 for语句 56
3.3.4 循环的嵌套 58
3.4 转向语句 59
3.5 小结 63
3.6 习题 63
第4章 函数( 教学视频:30分钟) 65
4.1 函数的定义与调用 65
4.1.1 函数的概念 65
4.1.2 函数的定义 66
4.2 函数的参数传递、返回值及函数声明 67
4.2.1 函数的参数传递及传值调用 67
4.2.2 函数返回值 69
4.2.3 函数声明 70
4.3 函数的调用 71
4.3.1 函数的调用方式 71
4.3.2 函数的调用机制 74
4.4 全局变量和局部变量 75
4.4.1 变量的存储机制与C++的内存布局 75
4.4.2 全局变量 76
4.4.3 局部变量 77
4.5 存储类型和生命期 78
4.6 函数的递归调用 78
4.7 重载、内联及默认参数 79
4.7.1 函数的重载 79
4.7.2 默认参数 81
4.7.3 内联函数 83
4.8 宏 84
4.8.1 无参宏 84
4.8.2 带参宏 86
4.9 名字空间域 88
4.10 小结 89
4.11 习题 90
第5章 数组与指针( 教学视频:43分钟) 91
5.1 数组 91
5.1.1 数组、数组元素及存储方式 91
5.1.2 数组名作为函数参数 94
5.2 多维数组 95
5.2.1 多维数组的存储与访问方式 96
5.2.2 多维数组的初始化 96
5.2.3 多维数组作为函数参数 98
5.3 指针与地址 99
5.3.1 指针的概念 99
5.3.2 指针变量的赋值、初始化与简单应用 100
5.4 数组与指针的关系 102
5.4.1 数组、指针和指针运算 102
5.4.2 指针作为函数参数 105
5.5 对象的动态建立和释放 107
5.5.1 自由存储区内存分配 107
5.5.2 自由存储区内存释放 108
5.6 引用 110
5.7 小结 112
5.8 习题 112
第6章 面向对象开发( 教学视频:40分钟) 114
6.1 类与对象的基本概念 114
6.1.1 C++类的定义 114
6.1.2 成员函数的定义 115
6.1.3 对象的创建与使用 117
6.2 构造函数和析构函数 121
6.2.1 构造函数的定义与使用 121
6.2.2 析构函数的定义与使用 123
6.3 复制构造函数 124
6.3.1 复制构造函数的定义与使用 124
6.3.2 自由存储对象与构造函数 127
6.3.3 浅复制 127
6.4 运算符的重载 129
6.5 友元 135
6.5.1 友元函数 135
6.5.2 友元类 138
6.5.3 运算符重载为友元函数 140
6.6 指针与类、对象 142
6.7 线性表 144
6.7.1 线性表的定义 144
6.7.2 线性表的运算 145
6.7.3 线性表的顺序存储结构 145
6.7.4 线性表的链式存储结构 148
6.8 字符串数组 153
6.9 小结 155
6.10 习题 155
第7章 继承与多态性( 教学视频:37分钟) 157
7.1 类的继承与派生 157
7.1.1 继承与派生的概念 157
7.1.2 类的继承方式 160
7.2 多继承 162
7.2.1 多继承的声明 162
7.2.2 类族 163
7.3 派生类的构造函数和析构函数 164
7.3.1 构造函数 164
7.3.2 析构函数 164
7.4 派生中成员的标识与访问 166
7.4.1 作用域分辨 166
7.4.2 基类私有成员的访问 169
7.4.3 引入派生类后的对象指针 172
7.5 多态性与虚函数 175
7.5.1 多态性 175
7.5.2 虚函数 176
7.5.3 抽象类和纯虚函数 180
7.6 虚基类 180
7.6.1 虚基类的声明 181
7.6.2 虚基类及其派生类的构造函数 183
7.7 小结 185
7.8 习题 185
第8章 模板与常用算法( 教学视频:51分钟) 187
8.1 模板 187
8.1.1 函数模板及其应用 187
8.1.2 类模板及其应用 189
8.2 常用算法 192
8.2.1 常用的查找方法 193
8.2.2 常用的排序方法 195
8.3 小结 198
8.4 习题 198
第9章 流类库与输入/输出( 教学视频:33分钟) 199
9.1 C++的基本流类体系 199
9.1.1 输入/输出流的概念 199
9.1.2 输入/输出标准流类 200
9.2 输入/输出格式控制 201
9.3 标准设备的输入/输出 203
9.4 文件的输入/输出 205
9.4.1 文件的概念 205
9.4.2 标准库文件函数输入/输出 206
9.4.3 文件输入/输出流 207
9.5 重载插入和提取运算符 211
9.6 小结 213
9.7 习题 213
第10章 异常处理( 教学视频:16分钟) 214
10.1 异常的概念 214
10.2 异常处理机制 215
10.2.1 异常处理的语句 215
10.2.2 异常处理过程及实例 216
10.3 异常处理中的构造与析构 219
10.4 异常类继承 221
10.5 标准C++库中的异常类 224
10.6 小结 226
10.7 习题 226
第2篇 MFC篇
第11章 MFC编程基础知识( 教学视频:27分钟) 228
11.1 事件驱动机制 228
11.2 MFC类库简介 229
11.2.1 根类CObject 229
11.2.2 MFC应用结构类 229
11.2.3 窗口、对话框和控件类 230
11.2.4 菜单类 230
11.2.5 其他常用类 230
11.3 利用MFC AppWizard创建Windows应用程序 232
11.4 MFC应用程序的类和文件 234
11.4.1 类 234
11.4.2 文件 235
11.5 Windows消息 236
11.5.1 消息发送和接收的基本过程和机制 236
11.5.2 标准的Windows消息 236
11.5.3 控件消息 238
11.5.4 命令消息 238
11.6 消息映射与消息处理函数 239
11.6.1 查看窗口消息处理函数 239
11.6.2 添加窗口消息 240
11.6.3 删除窗口消息处理函数 242
11.7 小结 242
11.8 习题 243
第12章 MFC程序设计( 教学视频:51分钟) 244
12.1 文档类和视图类间的关系 244
12.1.1 CView类 244
12.1.2 CDocument 类 245
12.1.3 在视图类中显示数据 246
12.2 SDI文档的序列化 247
12.2.1 序列化 247
12.2.2 文档处理的类型 248
12.3 创建对话框 249
12.3.1 对话框的组成 249
12.3.2 对话框的分类 250
12.3.3 创建对话框资源 250
12.3.4 创建对话框类 253
12.4 无模式对话框 256
12.5 创建菜单栏 257
12.5.1 创建菜单资源 257
12.5.2 菜单功能的实现 258
12.5.3 基于无模式对话框的菜单功能实现 260
12.5.4 建立快捷键 262
12.5.5 快捷菜单的实现 263
12.5.6 向菜单中动态添加新的菜单命令 266
12.6 创建工具栏 272
12.6.1 创建工具栏资源 272
12.6.2 实现工具栏按钮命令 273
12.6.3 实现工具栏的船坞化 275
12.7 创建状态栏 277
12.7.1 系统自带状态栏 277
12.7.2 完善状态栏 279
12.8 设备环境(DC) 281
12.9 绘制图形元素 283
12.10 绘图设备类 285
12.10.1 基类CGdiObject类 285
12.10.2 CPen类 285
12.10.3 CBrush类 288
12.11 绘图的应用 289
12.12 小结 292
12.13 习题 293
第3篇 应用篇
第13章 ActiveX技术( 教学视频:25分钟) 295
13.1 ActiveX基础知识 295
13.2 建立ActiveX工程 295
13.3 编辑ActiveX的内容 297
13.3.1 注册控件 297
13.3.2 丰富控件内容 298
13.3.3 控件的标准属性 300
13.3.4 控件的自定义属性 302
13.3.5 变量的持久性 305
13.3.6 控件环境属性的改变 306
13.3.7 测试控件程序 306
13.4 小结 307
13.5 习题 307
第14章 数据库编程( 教学视频:19分钟) 308
14.1 数据库基础知识 308
14.2 数据源的配置 309
14.3 数据库编程 310
14.3.1 CDatabase类和CRecordset类简介 310
14.3.2 CRecordset类的基本操作 311
14.3.3 利用AppWizard建立工程 312
14.3.4 添加浏览记录 313
14.3.5 编辑记录 314
14.3.6 修改状态栏 317
14.4 其他数据库编程技术简介 319
14.4.1 ADO简介 319
14.4.2 DAO简介 319
14.5 小结 320
14.6 习题 320
第15章 计算机网络编程( 教学视频:19分钟) 322
15.1 网络编程基础 322
15.1.1 计算机网络的发展和组成 322
15.1.2 网络的层次模型 322
15.1.3 协议 323
15.1.4 域名系统DNS 323
15.1.5 TCP/IP模型 323
15.1.6 套接字——Socket 324
15.1.7 网络编程的主流程 324
15.1.8 利用Socket机制编程 325
15.2 Socket编程实例 325
15.3 基于对话框类的MFC实例 330
15.3.1 HTTP网络编程 331
15.3.2 FTP网络编程 336
15.4 小结 342
15.5 习题 342
第16章 C++与MATLAB 的通信( 教学视频:16分钟) 344
16.1 MATLAB引擎 344
16.1.1 建立工程 344
16.1.2 MATLAB自带的引擎使用范例 346
16.2 利用MAT文件进行通信 348
16.2.1 建立工程 348
16.2.2 使用MATLAB处理图像信息 349
16.2.3 CDib.h和CDib.cpp的说明 354
16.3 小结 361
16.4 习题 361
第4篇 实例篇
第17章 制作一个简单的计算器( 教学视频:24分钟) 363
17.1 利用AppWizard建立工程 363
17.2 设计计算器的外观 364
17.2.1 添加控件资源 364
17.2.2 添加菜单资源 365
17.3 实现自定义按钮控件类 365
17.3.1 添加成员变量和成员函数 366
17.3.2 添加创建按钮控件代码 367
17.3.3 设置按钮的外观、颜色 367
17.4 实现自定义文本框控件类 371
17.4.1 添加成员变量和成员函数 371
17.4.2 添加文本框控件代码 371
17.5 对话框界面初始化 372
17.5.1 加载菜单资源 374
17.5.2 实现计算器扩展功能 374
17.6 数值计算功能的实现 375
17.6.1 为CMyCalculatorDlg类添加成员变量 376
17.6.2 按钮的消息响应函数 376
17.7 程序代码清单 380
17.7.1 数字键的处理 381
17.7.2 运算符键功能的实现 384
17.8 小结 386
17.9 习题 386
第18章 职员信息管理工具( 教学视频:29分钟) 387
18.1 利用AppWizard建立工程 387
18.1.1 建立应用程序框架 387
18.1.2 添加对话框条资源 389
18.1.3 建立ODBC数据源 389
18.2 实现自定义标签控件类 390
18.2.1 添加数据结构 390
18.2.2 添加成员变量 391
18.2.3 添加成员函数 391
18.3 实现个人信息管理功能 392
18.3.1 添加个人信息数据集类 392
18.3.2 实现个人信息录入功能 393
18.3.3 实现个人信息查询功能 396
18.4 实现职员信息管理工具 400
18.4.1 初始化主程序框架 400
18.4.2 初始化视图类 401
18.4.3 操作界面的转换 405
18.5 程序代码清单 406
18.6 小结 417
18.7 习题 417
第19章 FTP浏览工具( 教学视频:23分钟) 418
19.1 利用AppWizard建立工程 418
19.1.1 建立应用程序框架 418
19.1.2 为对话框添加控件资源 419
19.2 FTP浏览器功能实现 420
19.2.1 为CMyFTPDlg类添加成员变量 420
19.2.2 为CMyFTPDlg类添加成员函数 421
19.3 添加的成员函数代码实现 421
19.3.1 实现建立会话函数 421
19.3.2 实现建立FTP连接函数 422
19.3.3 实现文件列表下载函数 424
19.3.4 实现关闭FTP服务器连接函数 425
19.4 消息映射函数代码实现 426
19.4.1 实现登录FTP服务器和关闭应用程序功能 426
19.4.2 实现双击列表选项进入下一级目录功能 427
19.5 CMyFTPDlg类已有函数简介 430
19.6 小结 431
19.7 习题 431 -
作者介绍
主要拟约作者顺序姓名学历职称学科专长通 讯 地 址1杨舟硕士研究生C、图像处理作者单位南京市东南大学丁家桥校区邮政编码210009电 话159505110682 作者单位 邮政编码 电话 -
编辑推荐
-
书评书荐
-
附件下载
图书推荐