作者:empty 页数:668 出版社:empty |
微软开发的VisualStudio 2008支持两种截然不同但又紧密相关的C++语言:ISO/ANSI标准C++和C++/CLI ISO/ANSI是标准C++, 它是在20世纪80年代早期开发的, 是一种基于C的面向对象语言,所以这两种语言有许多共同的语法和功能,但是C++要比其前身丰富得多,用途也广泛得多。标准C++主要用于开发本地计算机上运行的高性能应用程序。C++/CLI由微软公司开发, 现在是ECMA标准, 它是专门为.NET Framework开发的。C++语言, 使用微软基本类MFC开发本地的ISO/ANSIC++Windows应用程序, 使用WindowsForms开发的C++/CLI Windows应用程序等。
本书重点介绍了MFC编程, 而非WindowsForms编程。
基于理论,注重实践在讲述过程中,不仅仅只介绍理论知识,而且在合适位置安排具有代表性,操作性强的综合应用,将理论应用到实践当中,来加强读者的实际应用能力, 巩固Visual C++的理论知识.快速掌握注重技术原理和实际应用的高度融合,通过循序渐进的内容组织,以及大量来自工作现场的应用案例, 帮助读者快速掌握和应用Visual C++2008编程技术.随书光盘本书为实例配备了视频教学文件,读者可以通过视频文件更加直观地学习Visual C++2008的使用知识,网站技术支持读者在学习或者工作的过程中,如果遇到实际问题,可以直接登录wwwitzen.com与我们联系,作者会在第一时间内给予帮助,
3.读者对象本书具有知识全面、实例精彩、指导性强的特点,力求以全面的知识及丰富的实例来指导读者透彻地学习Visual C++2008各方面的知识。本书可以作为Visual C++2008的入门书籍,也可以帮助中级读者提高技能,对高级读者也有一定的启发意义。本书适合以下人员阅读学习。希望学习C++语言的初学者,了解C++并希望使用C++开发Windows应用程序者.各大中专院校的在校学生和相关授课老师,除了封面署名人员之外,参与本书编写的还有胡家宏、于永军、张秋香、李乃文、张仕,夏小军、赵振江、李山、李文才、吴越胜、李海庆、何永国、李海峰、陶丽、吴俊海,安德、张巍屹、崔群法、王咏梅、康显丽、辛爱军、牛小平、贾栓稳、王立新、苏静、赵元庆、郭磊、徐铭、李大庆、王蕾、张勇、郝安林、郭新志、牛丽平、唐守国等。在编写过程中难免会有疏漏,欢迎读者与我们联系,帮助我们改正提高。
在Visual C++2008中可以采用多种方式编写Windows应用程序, 既可以编写基于本地C++的Windows程序, 也可以在托管环境下开发Windows程序。在接触Windows编程之前,必须熟悉C++编程语言,特别是C++语言的面向对象功能。上面这些都是比较传统的程序代码执行方式, 从Java语言开始, 一种新的程序语言执行本章主要概述了C++编程涉及到的一些基本概念, 以及C++的集成开发环境VisualStudio2008的使用了解.NET Framework 3.5的概念熟悉C++应用程序≥编译、连接并执行C++控件台应用程序>创建并执行基本的Windows应用程序1.1ETrnoro.NET Framework是Visual C++2008以及微软所有其他.NET开发产品的核心, 它是微软近年来主推的应用程序开发框架, 该框架提供跨平台和跨语言的特性, 使用.NET Framework,并配合其集成开发环境VisualStudio.开发人员可以比以往更轻松地创建出功能强大的应用程序。
1.1.1什么是.NET Framework现在的计算机编程语言的执行方式分为两种,一种是编译执行,一种是解释执行。编译执行是指源程序代码光由编译器编译成可执行的机器码,然后再执行:解释执行是指源代码程序被解释器直接读取执行,方式产生了,这就是“中间码+虚拟机”执行机制。在这种执行方式中,程序语言源代码需婴被编译成一种特殊的中间码,这种中间码是不能直接在机器上执行的,它需要一个叫“虚拟机”的装置来管理和执行,虚拟机可以是解释执行,也可以是编译执行,因为“虚拟机”可以参与和管理程序代码的执行,因此解决了很多传统编译语言一些致命的缺点。如垃圾内存回收、安全性检查和跨平台等。正因为Java有如此优点, 微软也采用了这种执行方式。NET
Framework类似于管理和执行中间码的“虚拟机”。需要注意, .NET Framework和Java的虚拟机JVM是不完全相同的, Java的虚拟机是解释执行的, 而.NET Framework是编译执行的。另外, .NET Framework作为开发应用程序的一个框架, 它对操作系统进行封装, 需要使用.NET Framework开发的应用程序与操作系统特性隔离开来.这样, , NET Framework开发的应用程序就可以移植到许多不同的硬件和操作系统上。开发模型, 开发人员可以选择任何支持.NET的编程语言来进行多种类型的应用程序开发, 例如VisualBasic.NET、C#和C++, NET行库) 和一组供使用的.NET Framework类库,Java的类库为Swing、AWT等。这些类库封装了系统底层的功能井提供更好的操作方式.NETFramework中的类库封装了对Windows、网络、文件、多媒体的处理功能, 是所有.NETFramework语言都必须使用的核心类库。并且, 为了便于语言之间进行交互操作, NETFramework类库中的类型都是符合公共类型系统CLS的。使用类库可以创建多种类型的应用程序,极大简化了开发人员的学习曲线,提高了软件开发生产力.1.1.4.NET Framework 3.5的新功能3.0版.NET Fr me work 3.2版是目前最新的版本, 世是功能最强大和完美的一个版本。开发事实上, , NET Framework的主要特色在于简化应用程序开发的复杂性, 它提供了一致的.NET Framework由两个主要部分组成:CLR(Common Language Runtime, 公共语言运1.1.2公共语言运行库CLR公共语言运行库CLR是标准化的程序执行环境, 这些可以在CLR中执行的程序可以是用各种高级语言编写的, 比如Vi ual Basic、C#, 以及C++。现在CLR规范收录在ECMA(欧洲计算机制造) 的CLI(通用语言基础结构) 标准—ECMA-335中, 并且CLI已经通过ISO认可, 作为ISO/IEC 23271的标准。也就是说, CLR是微软对CLI的实现。这也就是为什么将支持CLR的C++称为C++/CLI。CLI本质上是一种虚拟机环境规范, 这种环境规范使各种高级编程语言编写的应用程序能够在不同的系统环境中执行, 而不用修改或重新编译原来的源代码。CLI规定了一种供虚拟机使用的标准中间语言, 高级语言源代码首先将被编译为这种语言.在.NET Framework中,这种中间语言称为MSIL(Microsoft中间语言) 代码。执行程序时, 中间语言代码最终由JITJus-n-Tie.实时) 编译器编译为本地机器代码。当然, CLI中间语言代码可以在任何实现CLI标准的环境中执行,在开发应用程序时,使用一种高级语言编写的程序很难与使用另一种高级语言编写的程序进行数据交换, 这是许多编程语言存在的一个共同问题、为此, CLI定义了一组通用的数据类型CTS(Common TypeS ysm, 通用类型系统) , 在使用由CLI实现的编程语言编写程序时都应该使用该类型系统, 这样.CLI中的各种高级语言都会使用相同的数据类型系统,从而使得不同编程语言编写的组件以相同的方式处理数据,也可以使得将不同语言编写的组件集成到单个应用程序中,CLR大大增强了数据的安全性和程序的可靠性。因为在CLR中运行的程序是托管的,即CLR管理着应用程序, 它会对程序的内存进行管理, 并对程序执行的安全性进行检查等。与此相反, 不在CLR控制下运行应用程序是非托管的。非托管程序可以直接访问操作系统的低级功能, 对于托管程序则是通过CLR与操作系统通信。1.1.3.NET Framework类库关于类库的概念一直就存在, 以前的Visual C++为MFC类库.Delphi的类库为VCL.
第1篇:Visual C++2008基础知识(第1一7章) 首先介绍使用C++编写本地应用程序
和.NET Framewrk应用程序所需要理解的基本概念, 以及在Visual C++2008开发环境中体
现的主要思想,第2~7章专门讲授两个C++语言版本.
第2篇;C++面向对象的程序开发(第8~12章)本篇介绍了什么是面向对象的程序开
发, 以及面向对象的程序设计的主要特性最后介绍如何使用标准模板库STL
建Windws应用程序的几种方式, 然后重点介绍如何使用MFC开发本地的Windws应用程
序, 并使用C++/CLI创建了Windws应用程序
第4篇:数据库访问(第21~22章) , 本篇首先使用MFC创建访问数据库的Windws
应用程序, 然后使用WindwsFrms进行高度的可视化数据库编程
第一篇
Visual C++2008基础知识
第1章开始使用Visual C++2008.
1.1NET Framewrk 3.5.
2.3.4浮点类型.
2.4.2格式化输出.
2.5.1算术运算.
2.5.4关系运算.
2.5.6位运算.
3.1.2条件运算符.
3.1.3 switch语句.
3.2.1 while语句.
3.2.2d-while语句.
3.2.3 fr语句.
3.3.1 break语句-
5.8.1自动变量.
5.8.2静态变量.
6.6.1作为形参的指针.
.-25
2.3.5定文数据类型的别名.
2.4输入与输出表达式
2.4.1标准/流.
2.5运算符与表达式-
2.5.2腻值运算.
2.5.3返号运算.
2.5.5逻辑运算.
2.6C++/CLI的应用(托管C++) -
第3章流程控制结构.
1.1.1什么是.NET Frame wk-.-1
1.1.2公共请言运行库CLR.-.
1.1.3.NET Framewrk类库-.-2
1.14NET Framewrk 3.5的新功.3
12C++应用程序.-3
1.3VisualC++2008与VisualStudi 2008.4
1.4控制台应用程序.
1.5创建Windws应用程序.-.-11
第2章变量和表达式-.15
2.1C++的基本语法.15
2.2变量和常量.21
1.4.1Win 32控制台应用程序.7
142创建CLR控制台程序.10
1.5.1创建MFC应用程序.-.-12
1.5.2创建WindwsFrms应用程.-13
2.1.1程序的结构.-15
2.1.2注释.-18
2.1.3#include指令.19
2.1.4命名空间.19
2.15程序块.20
2.2.1定义变量21
2.2.2常量和符号常量.-22
2.3基本数据类.23
2.3.1整型.-23
2.3.2字符类型24
2.6.1C++/CLI的基本数据类型.
2.6.2C++/CLI格式化输出.
2.6.3C++/CLI的键盘输入.
2.6.4safecast安全类型转换.47
3.1条件语句.48
3.1.1if语句.48
3.2循环语句.56
3.2.4嵌套循环62
3.3跳转结构63
5.8变量的生存期.114
5.9甬数的重载.-117
5.10的数模板119
5.11C++/CLI的应用.-122
第6章指针与引用.
6.1指针的概念.
6.2声明指针变量.
2.3.3布尔类型.
3.3.2 cntinue语句.
33.3gal语句
3.4C++/CL1的应用.
第4章数组和字符串.-
4.1数组概述.
4.2多维数据.
4.1.1定义数维.
4.1.2引用数组元素-
4.13初始化.
4.2.1多数组的定义.
4.22多作数组的初始化.
4.3数组的应用.-78
:4.3.1排序78
4.3.2倒置矩阵.-84
4.4字符数组和字符书.85
4.4.1字符数组.85
5.2.1实参与形参.-98
5.7.2全局变量.-113
5.11.1接收数量可变的实.
5.11.2泛函数
6.3指针运算符.
6.3.1取地址运算符.
6.3.2间接运算符-
6.4指针变量的初始化-.
6.5指针和数组.
6.5.1使用指针法引用数组元素.-130
6.9.1堆与new和delete运算.145
6.9.2数组的动态分配内存.
6.11.2跟踪引用-.
4.4.2siring字符串.
44.3使用string字符串.
4.4.4 Unicde字符串.
4.5C++/CLI的应用.
4.5.1CLR数维.
4.5.2CLR字符串.
第5章函数
5.1函数的定义.
5.2雨数的参数和返回值.
6.5.2使用指针处理多维数.1.-133
6.6指针和函数.-.135
6.6.2返回指针的函数-137
6.6.3函数指针.-139
6.7常量指针和指针常量.140
6.7.1指向常量的指针.140
6.7.2指针常量.142
6.8指向char类型的指针变.143
69动志内存的分配.145
6.10引用11.1149
6.11C++/CLI中的指针与引用.151
6.11.1跟踪甸柄-151
第7章程序文件和预处理指令.154
7.1使用头文件.154
7.2外部名称.:156
7.3命名空间.157
5.2.2数的返回值-.101
5.2.3使用cnst修饰符的函数形参.-102
5.3雨数的调用.102
5.3.1两数调用机制.
5.3.2函数原型104
.4数的运有调用.105
5.5函的默认参数值.-108
5.6函数和数组.109
5.7数与变最的作用域-111
5.7.1局部变量.1I
7.3.2未指定名称的命名空间.159
7.3.3套的命名空间.160
8.1.1定义结构-
8.1.2访问结构成英
8.1.3结构与指针.169
8.2.1定义联合.
82.2名联合.
8.4.1定义类.
842创建类的对象.
84.3访间类的数据成员.-
8.4.4为类添加成员球数-
8.5.1构造函数的使用.
8.5.2类的默认构造序数.
8.5.3默认的初始化伯.
8.5.4构适两数中的初始化列表-.-186
8.9.1数伯类类型
8.9.2引用类类型
8.9.3类属性.
10.8.1底技-.257
10.8.2使用承教的原则.260
10.9.1纯虚角散.
10.9.2指象类.
10.10.1装箱与拆箱.
10.10.2C++/CLI中的继承.266
10.10.3接类.
10.10.4委托和事件.
1111STL容器277
111.2STL选代器.
11.1.3STL法
11.14STL头文件.
11.21 vectr序齐器.
112.2dque序爷器一289
11.2.3使用list容器290
13.1.1.
13.12 Windws程序的1作过程.
13.1.3 Windws API in-325
13.2.1 Windws数据类.325
7.4预处理指令.
第8章白定义数据类型.
8.1