本书由编程语言先驱者Ivor Horton倾力而著,是国内第一本全面、深入介绍Visual C++ 2005的经典之作!
1.编程语言先驱者Ivor Horton倾力而著;
2.国内第一本全面、深入介绍Visual C++ 2005的经典之作;
3.C++编程最畅销的图书品种之一。
本书使用Visual C++2005支持的两种技术,讲授C++编程的基础知识。
详细介绍了两种风格的C++语言,使用Microsoft基本类(Microsoft Foundation Classes,MFC)开发本地的ISO/ANSI C++Windows应用程序,使用Windows Forms开发C++/CLI Windows应用程序等知识。由于数据库技术在今天的重要性和普遍性,本书还介绍了可用于在MFC和Windows Forms 应用程序中访问数据源的技术。
展开
欢迎使用本书。通过使用本书,您可成为优秀的C++程序员。Microsoft公司的最新开发系统Visual Studio 2005支持两种截然不同但又紧密相关的C++语言。该系统完全支持原来的ISO/ANSI标准C++,同时还支持名为C++/CLI的新版C++。C++/CLI由Microsoft公司开发,现在是ECMA标准。这两种C++版本互为补充,各自完成不同的任务。ISO/ANSI C++用于开发在本地计算机上运行的高性能应用程序,而C++/CLI专门为.NET Framework开发。本书将讲述使用这两种C++版本开发应用程序的基础知识。
当编写ISO/ANSI C++程序时,我们可以从自动生成的代码中获得大量帮助,但仍然需要亲自编写大量C++代码。我们不仅需要对面向对象的编程技术有扎实的理解,而且需要充分了解Windows编程所涉及的方方面面。C++/CLI虽然针对.NET Framework开发,但同时也是Windows Forms应用程序开发的载体。开发Windows Forms程序经常只需要编写很少的代码,有时甚至不用编写代码。当然,当必须给Windows Forms应用程序添加代码时,即使这部分代码只占到代码总量的很小比例,也仍然要求我们有较多的C++/CLI语言的知识。
ISO/ANSI C++仍然是许多专业人员选用的语言,但C++/CLI和Windows Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言。因此,笔者决定在本书中包括这两种C++语言的基本内容。
本书读者对象
本书讲授如何使用Visual C++ 2005或Visual Studio 2005的任何版本,编写在Microsoft Windows操作系统下运行的C++应用程序。阅读本书不需要预先具备任何特定编程语言的知识。如果属于下列3种情形之一,那么您就适于学习本教程:
● 具备少量其他语言的编程经验,比如BASIC或Pascal;渴望学习C++,并想提升实际的Microsoft Windows编程技能。
● 有一些使用C或C++语言的经验,但使用环境不是Microsoft Windows;希望使用最新的工具和技术,扩充在Windows环境下编程的技能。
● 属于编程新手,十分渴望投入编程世界,并最终掌握C++。要取得成功,您至少需要对计算机的工作原理有透彻的理解——包括内存的组织方式以及数据和指令的存储方式。
本书主要内容
本书使用Visual C++ 2005支持的两种技术,讲授C++编程的基础知识。详细介绍了两种风格的C++语言,使用Microsoft基本类(Microsoft Foundation Classes,MFC)开发本地的ISO/ANSI C++ Windows应用程序,使用Windows Forms开发C++/CLI Windows应用程序等知识。由于数据库技术在今天的重要性和普遍性,本书还介绍了可用于在MFC和 Windows Forms应用程序中访问数据源的技术。与Windows Forms应用程序相比,MFC应用程序相对来说属于编码密集型程序,原因是前者的创建过程使用了Visual C++ 2005中的高级设计功能,可以以图形方式组装应用程序的整个图形用户界面(GUI),并使所有代码自动生成。因此,本书把较多的篇幅给予了MFC编程,而非Windows Forms编程。
本书结构
本书内容的结构安排如下:
● 第1章介绍使用C++编写本地应用程序和.NET Framework应用程序而需要理解的基本概念,以及在Visual C++ 2005开发环境中体现的主要思想。还叙述了如何使用Visual C++ 2005的功能,来创建本书其余部分要学习的各种C++应用程序。
● 第2~10章专门讲授两种C++语言版本,还讲述了调试过程中涉及的基本概念和技术。第2~10章的内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题,后半部分讨论C++/CLI主题。
● 第11章讨论Microsoft Windows应用程序的组织方式,并描述和展示了在所有Windows应用程序中都存在的基本元素。本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了一个使用C++/CLI语言的基本的Windows Forms应用程序示例。
● 第12~17章详细描述了MFC提供的构建GUI的功能。我们将学习如何创建并使用通用控件来构建应用程序的图形用户界面,还将学习如何处理因用户与程序的交互作用而产生的事件。在此过程中,我们将创建一个具有相当规模的应用程序。除了学习构建GUI的技术以外,我们还将从开发该应用程序的过程中学到如何使用MFC来打印文档,以及如何在磁盘上保存文档。
● 第18章讲述为使用MFC创建自己的库而需要知道的基本知识。我们将了解可以创建的不同种类的库,还将开发能够与前6章逐渐开发的应用程序协同工作的示例。
● 第19、20两章讲述如何在MFC应用程序中访问数据源。我们首先了解到在只读模式中访问数据库的经验,然后再学习使用MFC更新数据库的基本编程技术。这两章的示例使用了可以从Web上下载的Northwind数据库,但我们也可以把这两章描述的技术应用于自己的数据源。
● 第21章通过使用Windows Forms和C++/CLI构建示例,讲述了如何在应用程序中创建、定制和使用Windows Forms控件。通过在本章从头至尾逐渐构建出一个完整的应用程序,我们将获得一定的实践经验。
● 第22章以第21章获得的知识为基础,演示了可用来访问数据源的控件的工作原理,并讲述了定制这些控件的方法。我们还将学习如何在不编写任何代码的情况下,创建能够访问数据库的应用程序。
本书各章内容都包括许多示范所讨论的编程技术的示例。每章结束时的“小结”部分总结了该章所讲述的要点,大多数章都在最后给出了一组练习题,您可以应用所学的技术来试着解答这些练习题。练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面的“源代码”部分了解详细情况)。
关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序。这种方法使我们能够在不陷入复杂的Windows GUI编程的情况下,学习C++的各种功能。实际上,我们只有在对编程语言有了透彻理解之后,才能进行Windows 编程。
如果希望使学习过程尽可能简单,您最初可以只学习ISO/ANSI C++编程。讲授C++语言的各章(第2~10章)都是首先讨论特定方面的ISO/ANSI C++功能,然后再讨论C++/CLI在相同的上下文中引入的新功能。以这种方式组织各章内容的原因在于,C++/CLI是作为ISO/ANSI标准语言的扩充定义的,因此对C++/CLI的理解是以对ISO/ANSI C++的理解为基础的。因此,您可以只阅读第2~10章中的ISO/ANSI主题,而忽略跟在后面的C++/CLI部分。然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分,而免去记住两种语言版本的苦恼。在熟悉了ISO/ANSI C++之后,您可以回头重新学习C++/CLI。当然,您也可以逐章进行学习,从而同步增加这两种C++语言版本的知识。
使用本书的前提
为了使用本书,您需要拥有Visual Studio 2005 Standard Edition、Visual Studio 2005 Professional Edition或者Visual Studio 2005 Team System。注意,Visual C++ Express 2005因不包括MFC而不能胜任。Visual Studio 2005要求操作系统是Windows XP Service Pack 2或Windows 2000 Service Pack 4。为了安装上述3种Visual Studio 2005版本,您的计算机需要有1 GHz的处理器,至少要有256MB的内存,系统驱动器上至少需要有1GB的可用空间,在安装驱动器上至少要有2GB的可用空间。为了安装随产品提供的完整MSDN文档,您在安装驱动器上需要有额外的1.8GB可用空间。