编辑推荐
适读人群:《21天学通C++(第5版)》适合没有编程基础的C++语言初学者作为入门教程,也可作为大中专院校师生和培训班的教材,对于C++语言开发的爱好者,《21天学通C++(第5版)》也有较大的参考价值。
◆基础知识-》核心技术-》典型案例-》综合练习-》项目案例
◆102个典型实例,1个项目案例,45个练习题,52个面试题
◆一级开发人员全程贴心讲解,上手毫不费力
◆超值DVD内含21小时多媒体教学视频,以及丰富赠品!
内容简介
《21天学通C++(第5版)》共21章,从VisualC++的基础入手,由浅入深,逐步介绍了使用VisualC++进行Windows程序设计的各个方面。在VisualC++的高级应用部分,详细介绍了使用VisualC++进行数据库编程、网络编程、线程技术的实现、动态链接库的实现和ActiveX技术的实现,基本涵盖了VisualC++的功能。《21天学通C++(第5版)》内容丰富,深度和广度兼顾。可以作为初学者的入门指南,也可以帮助中高级读者进一步提高编程水平。此外,也可作为读者学习面向对象程序设计的参考书。
目录
第1篇VisualC++基础篇
第1章VisualC++6.0概述
1.1VisualC++6.0简介
1.1.1VisualC++6.0的特点
11.1.2VisualC++6.0的版本种类和硬件环境
1.2VisualC++6.0集成开发环境概览
1.2.1工作区
1.2.2编辑区
1.2.3输出窗口
1.3VisualC++6.0集成开发环境菜单简介
1.4VisualC++6.0的工具组件
1.4.1C/C++编译器
1.4.2资源编辑器和资源编译器
1.4.3链接器和调试器
1.4.4应用程序向导
1.4.5类向导
1.4.6资源浏览器
1.5第一个VisualC++程序――“HelloWorld”
1.5.1使用应用程序向导创建工程
1.5.2添加并修改消息处理函数
1.5.3编译、链接和运行
1.6VisualC++6.0项目文件类型简介
1.7小结
1.8习题
第2章Windows应用程序框架
2.1基于Windows的应用程序设计
2.1.1基于Windows的应用程序接口(API)
2.1.2句柄的原理
2.1.3Windows应用程序入口――WinMain()函数
2.1.4消息及消息队列机制
2.2MFC的基本概念及应用程序框架
2.2.1MFC的基本概念
2.2.2使用应用程序向导创建MFC应用程序框架
2.3MFC应用程序框架详解
2.3.1应用程序类
2.3.2框架类
2.3.3视图类和文档类
2.4小结
2.5习题
第2篇可视化编程篇
第3章常用控件
3.1控件的基本概念
3.2VisualC++6.0中的控件
3.2.1静态文本控件
3.2.2编辑框控件
3.2.3按钮控件
3.2.4列表框控件
3.2.5组合框控件
3.2.6滚动条控件
3.3控件的应用
3.3.1添加控件到应用程序界面中
3.3.2多个控件的排列布局
3.4控件应用实例
3.5小结
3.6习题
第4章对话框
4.1对话框概述
4.1.1对话框的组成
4.1.2对话框的种类
4.1.3对话框的编辑器
4.1.4对话框的属性
4.2创建对话框
4.2.1添加对话框资源
4.2.2添加控件
4.2.3使用类向导创建对话框类
4.2.4使用类向导添加成员变量
4.2.5添加消息处理函数
4.3模态对话框和非模态对话框
4.3.1构建主程序框架
4.3.2创建非模态对话框
4.3.3对话框的输入/输出――数据交换机制
4.3.4创建模态对话框
4.4小结
4.5习题
第5章消息处理与类向导的使用
5.1消息的种类
5.1.1来自键盘的消息
5.1.2来自鼠标的消息
5.1.3来自窗口的消息
5.1.4来自焦点的消息
5.1.5定时器消息
5.1.6命令消息
5.2使用消息机制的应用实例
5.3类向导的使用
5.3.1启动类向导
5.3.2使用类向导添加消息处理函数
5.3.3添加成员变量
5.3.4添加新类
5.4小结
5.5习题
第6章菜单
6.1Windows的应用程序菜单概述
6.1.1菜单的种类
6.1.2使用VisualC++6.0生成的菜单
6.2创建菜单的操作方法
6.2.1添加菜单资源
6.2.2利用菜单编辑器编辑菜单资源
6.2.3将菜单添加到应用程序中
6.2.4添加消息处理函数
6.3菜单的程序设计
6.3.1在程序中获取菜单信息
6.3.2在程序中修改菜单状态
6.3.3在程序中添加、删除、插入菜单或菜单项
6.4快捷菜单――弹出式菜单
6.4.1手动创建快捷菜单
6.4.2使用组件创建快捷菜单
6.5小结
6.6习题
第7章工具栏与状态栏
7.1工具栏介绍
7.1.1工具栏类――CToolBar
7.1.2创建工具栏
7.1.3使用工具栏编辑器设计工具栏按钮
7.2创建工具栏
7.2.1添加工具栏资源
7.2.2设计工具栏按钮
7.2.3将工具栏添加到应用程序
7.3显示/隐藏工具栏
7.4状态栏
7.4.1状态栏介绍
7.4.2状态栏类――CStatusBar
7.4.3创建状态栏
7.5修改状态栏
7.5.1指示器数组
7.5.2修改状态栏
7.6小结
7.7习题
第3篇VisualC++应用篇
第8章图形
8.1图形设备接口的基本原理
8.2设备描述表的概念及使用
8.2.1设备描述表概述
8.2.2获取设备描述表
8.3Windows的图形设备接口类
8.4GDI对象的创建133
8.4.1自定义画刷类(CBrush)
8.4.2自定义画笔类(CPen)
8.5画笔类的使用
8.5.1使用画笔类对象进行画线
8.5.2改进画线功能
8.6画刷类的使用
8.6.1使用带颜色的画刷对象
8.6.2使用带位图的画刷对象
8.7小结
8.8习题
第9章文本与字体
9.1文本编程简介
9.1.1文本编程的基本概念
9.1.2使用GDI类自定义字体对象
9.2字体的使用
9.2.1实现简单文字处理
9.2.2特殊字符的处理
9.2.3具有颜色的文本应用实例
9.3小结
9.4习题
第10章文档视图结构
10.1文档视图结构概述
10.1.1文档和视图的基本原理
10.1.2基于文档视图结构的应用程序
10.1.3基于文档视图结构的程序的组成部分
10.1.4框架窗口
10.2文档/视图类的关联函数
10.2.1视图类中的获取文档函数――GetDocument()
10.2.2文档视图类其他常用的关联函数
10.3单文档视图结构的应用程序
10.3.1单文档视图结构的应用程序概述
10.3.2创建单文档视图应用程序
10.4多文档视图结构的应用程序
10.4.1多文档视图结构的应用程序概述
10.4.2创建多文档视图应用程序
10.5小结
10.6习题
第11章文件
11.1文件的基本概念
11.1.1文件与输入/输出流
11.1.2文件的内容与种类
11.2常见的文件操作
11.2.1打开和关闭顺序文件
11.2.2顺序文件的读/写操作
11.2.3顺序文件读/写操作应用实例
11.3MFC中的CFile类
11.3.1CFile类的成员函数详解
11.3.2使用CFile类对象打开文件
11.3.3使用CFile类对象读/写文件
11.3.4使用CFile类对象关闭文件
11.4文件输入/输出的实现实例
11.5“打开”和“保存”对话框
11.5.1创建“打开”对话框
11.5.2创建“保存”对话框
11.6小结
11.7习题
第12章文档序列化与注册表操作
12.1什么是文档序列化
12.2文档序列化的实例
12.2.1实现简单绘图功能的实例
12.2.2添加可序列化的类
12.2.3重载Serialize()函数
12.2.4加入宏
12.2.5构造图形类CGraph
12.2.6保存图形
12.2.7完成绘图功能
12.2.8以序列化方式保存图形
12.3注册表的操作
12.3.1注册表简介
12.3.2注册表的结构
12.3.3读/写注册表
12.4小结
12.5习题
第13章应用程序界面设计
13.1修改应用程序外观样式
13.1.1在框架类中修改程序外观
13.1.2在视图类中修改程序外观
13.2制作动画效果的图标
13.3设置背景图片
13.4小结
13.5习题
第14章面向对象程序设计基础
14.1面向对象技术概览
14.1.1面向对象技术的基本概念和特点
14.1.2面向对象程序设计语言的演化
14.2类对象和类
14.2.1类对象
14.2.2类237
14.3对象的属性和方法
14.3.1对象的属性
14.3.2对象的方法
14.4封装、继承和多态
14.4.1封装
14.4.2继承
14.4.3多态
14.5使用VisualC++6.0进行面向对象程序设计
14.5.1类类型的定义
14.5.2类的实例化使用
14.5.3函数的多态形式――重载
14.5.4类的构造函数
14.5.5类的析构函数
14.5.6指向当前对象的指针――this指针
14.5.7类的继承
14.5.8虚函数与多态性
14.6小结
14.7习题
第4篇VisualC++开发篇
第15章数据库应用程序开发
15.1数据库基础理论简介
15.2数据库访问技术介绍
15.3使用ODBC进行数据库应用程序开发
15.4与ODBC兼容的MFC类
15.5应用ODBC进行数据库应用编程
15.6ADO简介
15.7使用ADO进行数据库应用程序设计
15.8应用ADO编程的实例
15.9小结
15.10习题
第16章网络编程
16.1一个简单的网络编程实例
16.2Socket套接字及使用
16.3基于Windows系统的套接字编程机制
16.4小结
16.5习题
第17章线程与进程程序设计
17.1进程和线程的基本概念
17.2MFC的线程处理机制
17.3线程的同步
17.4进程之间的通信
17.5小结316
17.6习题317
第18章动态链接库开发
18.1一个简单的动态链接库实例
18.2动态链接库详解
18.3Win32DLL的创建和使用
18.4MFC规则DLL的创建
18.5小结
18.6习题
第19章ActiveX应用程序设计
19.1ActiveX技术简介
19.2ActiveX控件详解
19.3创建ActiveX控件
19.4ActiveX控件的高级应用
19.5小结
19.6习题
第20章VisualC++6.0的调试技术
20.1VisualC++6.0的调试方法
20.2使用调试信息查看工具
20.3高级调试技术
20.4调试的应用实例
20.5小结
20.6习题
第5篇案例篇
第21章综合案例
21.1系统功能概述
21.2系统功能的具体实现
21.3实现成绩浏览功能的操作
21.4实现添加成绩的功能
21.5实现删除成绩的功能
21.6实现成绩查询的功能
21.7小结
精彩书摘
第1章C++入门
C++语言是在C语言的基础上增加了面向对象程序设计的要素而发展起来的,本章将介绍C++的特点,以及其与C语言的区别。此外,将着重介绍C++的编译环境及使用该环境进行第
一个C++程序的设计。在该设计基础上,重点介绍C++源程序的基本组成和基本元素。
以下是对读者在学习本章内容时所提出的几个基本要求,也是希望通过学习本章能够达到的目的,让读者在学习本章内容时可以有一个学习参照。
1.了解C++的历史及其特点。
2.掌握C++编译环境及第一个C++程序。
3.熟悉C++源程序的基本组成和组成元素。
1.1C++概述
C++语言是一种应用较广的面向对象的程序设计语言,除了继承了C语言的全部优点和功能外,还支持面向对象程序设计。C++现在已成为介绍面向对
象程序设计的首选语言,也是当前一种十分流行和实用的程序设计语言。
1.1.1C++的历史沿革
读者可能已经已经了解到,C++语言起源于C语言。1980年,美国贝尔实验室的BjarneStroustrup博士及其同事在C语言的基础上,从Simula67中引入面向对象的特征,开发出一种
过程性与对象性相结合的程序设计语言,最初称为“带类的C”,至1983年取名为C++。
后来,BjarneStroustrup博士和他的同事们又为C++引进了运算符重载、引用、虚函数等许多特性,使之更加精练,于1989年后推出了AT&TC++2.0版。随后美国国家标准化协会
ANSI(AmericanNationalStandardInstiute)和国际标准化组织ISO(InternationalStandardsOrganization)一起进行了标准化工作,并于1998年正式发布了C++语言的国际标准ISO/IEC:98—14882。各个软件商推出的C++编译器都支持该标准,并有不同程度的拓展。
此后,C++经过了许多次改进、完善,发展成为现在的C++。目前的C++具有两方面的特点:其一,C++是C语言的超集,因此能与C语言兼容;其二,C++支持面向对象的程序设计,
使其被称为一种真正意义上的面向对象程序设计语言。
C++支持面向对象的程序设计方法,特别适合于中型和大型的软件开发项目。从开发时间、费用到软件的重用性、可扩充性、可维护性和可靠性等方面,C++均具有很大的优势。
1.1.2C++与面向对象
由于C++是一种面向对象的程序设计语言,因此具有面向对象程序设计有别于过程化设计的特点。面向对象程序设计是一种程序设计方法,其模仿了人们建立现实世界模型的方法。在面
向对象程序设计中,现实世界中客观存在的事物都被称为对象,而具有相同特征的一类对象则可归纳为类。例如,张三是一个对象,而人则是一个类。面向对象程序设计的基础是对象和类。
在C++中,对象是构成信息系统的基本单位,类(class)是对一组性质相同对象的描述。简单地说,类是用户定义的一种新的数据类型,是C++程序设计的核心。由于C++是一种面向对象语言,因此,面向对象程序设计的主要特征也是C++的主要特点,具体如下。
1.封装性:所谓封装就是将一组数据和与这组数据有关的操作集合并组装在一起,形成一个能动的实体,也就是对象。在C++中是通过建立类这个数据类型来支持封装性的。
2.继承性:继承是指一个类具有另一个类的属性和行为。这个类既具有另一个类的全部特征,又具有自身的独有特征。在C++中将其称为派生类(或子类),而将其所继承的
类称为基类(父类)。
3.多态性:多态是指不同的对象调用相同名称的函数,并可导致完全不同的行为。C++中的多态性通过使用函数重载、模板和虚函数等概念来实现。
近几年来,C++得到过许多扩展,使其具有更多独有的特点。C++模板是近几年来对此语言的一种扩展,模板是根据类型的参数来产生函数和类的机制,有时也称模板为“参数化的类
型”。使用模板,可以设计一个对许多类型数据进行操作的类,而不需要为每个类型的数据建立一个单独的类。标准模板库(StandardTemplateLibrary,STL)和微软的活动模板库(Active
TemplateLibrary,ATL)都基于C++语言扩展,这些在后续的章节中都将逐一介绍。
此外,C++标准可分为两部分:C++语言本身和C++标准库。C++标准库对于VisualC++是相当新的,C++标准库实现容器和算法的部分就是标准模板库STL。标准模板库STL是数据结构和算法的一个框架,数据结构包括矢量、列表和映射等,算法包括这些数据结构的查找、复制和排序等。1994年7月,ANSI/ISOC++标准委员会投票决定接受STL为C++标准库的一部分,STL的产生是为了满足通用性的设计目标,而不是为了提高性能。
……
前言/序言
千里之行,始于足下!
——老子
“21天学编程系列”自2009年1月上市以来一直受到广大读者的青睐。该系列中的大部分图书从一上市就登上了编程类图书销售排行榜的前列,很多大、中专院校也将该系列中的一些图书作为教材使用,目前这些图书已经多次印刷、改版。可以说,“21天学编程系列”是自2009年以来,国内原创计算机编程图书最有影响力的品牌之一。
为了使该系列图书能紧跟技术和教学的发展,更加适合读者学习和学校教学,我们结合最新技术和读者的建议,对该系列图书进行了改版(即第4版)。《21天学通C++(第5版)》便是该系列中的VisualBasic分册。