
C++入门基础_30分钟入门教程之欧阳术创编.docx
36页C++入门学问时间:2022.02.02创作:欧阳术C++是一门应用格外广泛的计算机程序设计语言它既支持过程化程序设计,也支持面对对象程序设计从操作系统、设备把握到数据库、网络、多媒体等众多的应用领域都能看到它的身影目前,业界应用比较广泛的是它的两个变种: Borland C++和Visual C++这两种 C++都是在标准 C++的根底上做了一些扩展而来本书将基于 Visual C++ 6.0 版本的开发环境,向读者讲授标准 C++的强大功能和编程方法本章包括以下内容:q C++概述;q 开发工具;q C++程序的构造;q 编码标准;q 标识符通过本章的学习,读者可以为后面的学习打好根底,并且可以对 C++有一个根本生疏1.1 概 述C++作为当今业界应用最为广泛的编程语言之欧阳术创编 2022.02.02欧阳美创编 2022.02.02一,其涵盖的内容格外广泛而多样本节将首先给读者一个初步的概念1.1.1 C++的进展史C++由美国贝尔试验室的 Bjarne Stroustrup 博士在20 世纪 80 年月初期制造并实现,最初被称作 C with Classes1983 年,C with Classes 被更名为 C++。
1985 年 10 月公布了第一个商业化版本同年,C++ 的第一本编程手册《C++程序设计语言》出版1989 年,公布了其次版1990 年,出版了 The AnnotatedC++ Reference Manual这本书后来成为标准化的根底稍后又引入了模板、特别处理、命名空间、新的强制转型,以及布尔类型等特性ANSI-ISO 委员会于 1998 年对 C++进展了标准化:ISO/IEC 14882-1998从今,C++成为一种具有国际标准的编程语言,通常被称作 ANSI/ISO C++2003 年,又公布了该标准的修正版2005 年,一份名为 Library Technical Report 1〔简称 TR1〕的技术报告公布事实上,至今为止没有任何一款编译器完全支持 ISO C++,但是 Borland C++和 Visual C++ 已经足够强大现在, Loki、MPL 等程序库为代表的产生式编程和模板元编程的消灭又给了 C++一个新的进展顶峰1.1.2 为什么要选择 C++C++语言是由 C 语言扩大而来它是一门混合型欧阳术创编 2022.02.02欧阳美创编 2022.02.02的语言,既支持传统的构造化程序设计,又支持面对对象的程序设计,这使得 C++格外流行。
它在编程中支持面对对象因此,它比 C 更适合人们的思考方式,并且比 C 要平安、牢靠、有效但是它并不像 Java 那样全面实现类的使用,这使得它很机敏,能够适应多种场合的需要C++是编译语言,性能良好,效率更高它不像Java、PHP、ASP 等解释型语言,需要在运行时转换为机器码,或者读一条语句执行一条它直接被编译为机器可识别的机器码C++编写的程序独立性好只要 C++编译时产生的机器码不依靠外部的动态链接库,C++就可以在不需要安装额外程序的状况下,移动到运行同样操作系统的其他机器和微处理器上而移动 Java 程序时需要先安装 Java 运行期库这是 C++语言成功流行的一个重要缘由C++语言应用极为广泛尤其在底层编程和系统级编程上更是 C++的传统优势应用在数据库和多媒体方面,C++又以其卓越的稳定性而赢得了荣誉1.1.3 对面对对象方法的支持对象是人们要进展争辩的任何事物面对对象的核心思想是对象和对象间的消息,是建立在“对象”根底上的方法学它将系统看做对象的组合, 每个对象都能承受并处理数据,然后和其他对象通过消息来交换数据面对对象编程具有以下 3 个基本特征:封装、继承和多态q 在 C++中,用类来封装数据和数据上的操作, 外界看不到该类的属性和方法。
假设需要的 话,系统一般会为每个属性供给 set/get 函数对q 继承就是从父类继承旧的属性、参数等 C++ 可以进展公有、私有、保护 3 种类型的继承有时为了避开内存的铺张,也可以进展虚继承虚继承中,整个继承体系里公有的基类将不会被重复安排空间q 多态指用多种形态来实现 C++中的多态包括函数重载、子类与基类间的掩盖、虚函数、运算符重载以及抽象类等方式1.2 开发工具要想发挥 C++的强大功能,就需要一个优秀的集成开发环境,由于一个好的编程环境经常可以起到事半功倍的效果集成开发环境〔 IDE〕是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起,用于开发应用程序的软件系统本节将向读者介绍常见的几款 C++开发环境, 并着重介绍本书所用到的开发环境1.2.1 常见的 C++开发工具目前,传统的 C++开发工具有 C++ Builder、Visual C++ 两 种 , 新 近 又 出 现 了 Eclipse 、Code::Blocks、Dev-C++、Mingw 等开发工具它们各有千秋,下面将简洁介绍一下它们的 特性1. Visual StudioVisual Studio 是微软公司推出的开发环境,它是目前最流行的 Windows 平台应用程序开发环境。
在Visual Studio 中可以创立应用程序和网络应用程序,以及智能设备应用程序和 Office 插件等从 7.0 开始, Visual Studio 参加了.Net 技术,类似 Java 的JVM目前,最新版本为 9.0 , 也被称 做 Visual Studio 2021假设不想使用.Net 技术,6.0 版本也是一个不错的选择说明:Visual Studio 对标准 C++做了扩展,习惯上将在 Visual Studio 中实现的 C++称为 Visual C++,即 VCVC 是目前使用最广泛的 C++ 开发语言, Visual Studio 也是使用最广泛的开发工具2. C++ BuilderC++Builder 是另一款比较流行的 C++开发工具它由 Borland 公司于 1998 年推出,也是 Windows 下的开发工具C++ Builder 具有高度平安性、高牢靠性、快速性的编译优化方法,所以编译出的软件执行速度很快全部符合 ANSI/ISO 标准的原代码都可以在 C++ Builder 中编译,而且支持最新的 ANSI C++/C 语言特征3. Dev-C++Dev-C++是 Windows 平台下的开源 C++编程环境。
它集成了 GCC、MinGW32 等众多自由软件, 界面类似Visual Studio,但体积要小的多它的缺点是难以胜任规模较大的软件工程,但对于初学者是一个不错的选择4. AnjutaAnjuta 是一款 GNOME 桌面环境下的 C/C++编程的集成环境,也是开源软件它不仅有工程治理、交互式调试以及强大的代码编辑和语法增色的功能,还可以直接开发 Glade 图形界面的程序但是, 它主要用在 Linux 、UNIX 平台下, 不支持Windows 平台目前,最新版本是 2.4.x,可以从 站点获得5. Code::BlocksCode::Blocks 是一款全功能的、跨平台的 C/C++ 集成开发环境,属于开源软件它供给了众多的工程模板,包括把握台应用、动态连接库、OpenGL 应用、QT 应用、Win32 GUI 应用等Code::Blocks 的另一引人之处在于它具有丰富的插件,包括代码格式化、类向导、代码补全、代码统计、 To-Do 列表,以及 WindowsXP 外观等各种各样的插件此外,它不仅支持 GNU GCC 编译器,还支持 MS Visual C++、BorlandC++编译器 5.5 ,以及 Digital Mars C 等多种编译器。
6. EclipseEclipse 是目前开源平台中最有名的集成开发环境最初主要用来支持 Java 语言编程,目前通过插件 CDT 也可以用来开发 C/C++程序由于它本身只是一个框架,因此插件众多是它的一大特点这使得 Eclipse 拥有其他支持单一语言的 IDE 环境很难具有的机敏性此外,还有很多 IDE 也都支持 C++开发,例如Visual Slick Edit 、NetBeans、Understand C 等,读者可以依据自己的需要选择适合自己的开发环境1.2.2 Visual C++ 6.0 开发环境简介Visual C++是微软公司推出的目前使用极为广泛的基于 Windows 平台的可视化集成开发环境它包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码扫瞄器、集成调试工具,以及一套联机文档 MSDNVisual C++ IDE 一般由 3 局部组成:Developer Studio、MFC、Platform SDK1. Developer Studio这是一个集成开发环境,它供给了一个很好的编辑器和很多 Wizard 它不仅可以用来开发 C 、C++,还可以用来开发 Visual Basic、VF 等语言。
使用 Developer Studio,可以完成创立、调试、修改应用程序等各种操作2. MFCMFC〔Microsoft Foundation Classes ,MFC〕表示为微软根底类,它的应用程序的总体构造通常由开发人员从 MFC 类派生的几个类和一个 CWinApp 类对象〔应用程序对象〕组成但是用 Visual C++编写代码也并不意味着肯定要用 MFC,使用 STL、ATL、编写 SDK 程序一样没有限制说明:STL 是 Standard Template Library 的缩写, 表示标准模板库 ATL 是 Active Template Library 的缩写,表示活动模板库3. Platform SDKPlatform SDK 是以 Microsoft C/C++编译器为核心,协作 MASM,辅以其他一些工具和文档资料SDK 表示 Software Development Kit,意为“软件开发工具包”Visual C++ 6.0 支持的文件类型众多,如表 1-1 所示表 1-1文件类型文件类型说明文件类型说明ActiveServer PageASP 文件Binary File二进制文件Bitmap File位图文件C++ Source FileC++源程序文件C/C++ Header FileC/C++头文件Cursor File光标文件HTML PageHTML 文件Icon File图标文件Macro File宏文件Resource Script资源脚本文件Resource Template资源模板SQL Script File件SQL 语言脚本文Text File文本文件由于功能强大,Visual C++ 6.0 预定义的工程类型也格外多,如表 1-2 所示。
表 1-2 工程类型项 目 类型ATLCOM AppWizard说 明Win32 Dynamic-LinkLibrary项 目 类型Database Proje。
