vs相关教程.docx
《vs相关教程.docx》由会员分享,可在线阅读,更多相关《vs相关教程.docx(28页珍藏版)》请在冰点文库上搜索。
![vs相关教程.docx](https://file1.bingdoc.com/fileroot1/2023-5/28/825797d7-cd53-4738-b4a6-570609e3d940/825797d7-cd53-4738-b4a6-570609e3d9401.gif)
vs相关教程
如果有一种语言,它定义编程的本质的今天,它是C++。
这是为高性能软件开发卓越的语言。
它的语法已经成为专业的编程语言的标准,它的设计理念,回荡在整个计算。
1架C++初学者的指南由HerbertSchildt
的C++也从其中包括Java和C#是衍生语言。
简单地说,是一个专业的程序员的能力意味着在C++。
它是对现代编程所有网关。
本模块的目的是介绍C++中,包括其历史,其设计理念,其最重要的一些特性。
到目前为止,关于学习的一种编程语言,最难的事是事实,没有孤立存在的元素。
相反,语言工作的组件连接在一起。
这种相互关联性使得它难以讨论,不涉及其他方面之一的C++。
为了帮助解决这个问题,这个模块提供了几个C++的特点,包括一个C++程序的一般形式,一些基本的控制语句,和经营者的简要概述。
它不会进入太多的细节,而是以共同的任何C++程序的一般概念精矿。
关键技能1.1:
以C++简史
对C++的历史始于与C这样做的原因很容易理解:
C++是后C的基础因此建成,C++是一个超集三C++的扩大和加强了C语言,以支持面向对象编程(其中在此模块中的描述后)。
C++还增加了一些其他改进的C语言,包括一组扩展的库例程。
然而,大部分的品质和风味的C++是直接继承从C因此,要充分理解和欣赏的C++中,你需要了解“如何和为什么”的背后三
陈:
对规划的现代时代的开始
发明的C定义了现代编程时代的开始。
其影响不可低估,因为它从根本上改变了编程进行了接触和思考方式。
其设计理念和语法影响了每一个主要的语言至今。
C为主要,在计算革命的力量之一。
C是首次发明并实施由DennisRitchie在DEC的PDP-使用UNIX操作系统11。
C是一个发展的过程,旧名为BCPL语言开始结果。
BCPL是由马丁理查兹。
BCPL影响称为B的语言,这是由KenThompson和发明,导致了C20世纪70年代的发展。
在此之前的C发明,计算机语言,一般设计成学术活动或由官僚委员会。
C是不同的。
它的设计,实施,并通过真实的,程序员开发工作,反映的方式他们走近的编程工作。
它的特点是磨练,测试,想过,以及究竟是谁的人使用的语言反思。
因此,吸引了众多的支持者和ç迅速成为全世界程序员选择的语言。
ç的前身是20世纪60年代结构化编程革命。
结构化编程之前,大项目很难写,因为程序逻辑往往沦为所谓的“意大利面条式代码”的跳跃,来电,并返回纠结质量是难以遵循知名。
结构化语言处理,加入明确界定的控制语句解决这个问题,子程序
2C++的初学者由HerbertSchildt指南
与局部变量和其他改进。
使用结构化语言,它成为可能编写大型程序适度。
虽然有其他结构化语言在时间,如帕斯卡尔,C是第一个成功地结合力量,优雅和表现力。
其简洁,易于使用的语法与它的哲学,程序员(不是语言)负责迅速赢得了许多转换耦合。
它可以是一个有点令人费解,从今天的角度来看,但C是一个新鲜的空气,程序员们期待已久的气息。
因此,ç成为80年代最广泛使用的结构化编程语言。
对于C++需要
鉴于上述讨论,你可能会疑惑为什么C++被发明出来。
由于C是一个成功的计算机编程语言,为什么有别的需要的东西?
答案是复杂性。
纵观历史上的编程,程序的日益复杂,带动了更好的方法来管理这种复杂性的需要。
C++是对这一需要的反应。
为了更好地理解复杂的方案之间日益发展的相互关系和计算机语言,考虑以下。
编程方法发生了巨大变化,因为计算机的发明。
例如,当计算机被发明之初,编程是通过使用计算机的前面板切换在二进制机器指令。
只要计划早只是几百个指令长,这种方法是可行的。
随着程序的增长,发明了汇编语言,使程序员可以更大,日益复杂的程序处理通过使用机器指令的符号表示。
随着事业不断发展,高级语言开发,以使程序员更多的工具,用以处理复杂性。
一种广泛使用的计算机语言,当然,FORTRAN语言。
虽然是一个非常令人印象深刻的FORTRAN语言的第一步,这是很难的语言,鼓励清晰,易于理解的方案。
20世纪60年代诞生了结构化编程,这是由语言编程方法,如C.与鼓励是,第一次,可能编写复杂的程序相当容易适度结构化语言。
然而,即使结构化编程方法,一旦项目达到一定规模,其复杂性超过了什么是程序员可以管理。
到了70年代末,许多项目已接近或在这一点上。
针对这一问题,一种新的方式计划开始出现:
面向对象编程(OOP)。
使用OOP,程序员可以处理更大,更复杂的程序。
麻烦的是,C没有支持面向对象编程。
对于C的面向对象版本的愿望最终导致了创作的C++。
在最后的分析中,虽然C的最喜欢并广泛应用于世界职业的编程语言之一,都会有它的处理能力时,超过的时间复杂性。
一旦程序达到一定的规模,它变得如此复杂,以致难以把握作为一个整体。
该
3C++的初学者由HerbertSchildt指南
对C++的目的是让这个障碍被打破,并帮助程序员理解和管理更大,更复杂的程序。
C++是出生
C++是由BjarneStroustrup的发明于1979年在贝尔实验室,在美利山,新泽西州。
他最初被称为新语“带类的C。
”然而,1983年改名为C++。
Stroustrup的建立在基础的CC++中,包括C的功能,属性和所有好处。
他还坚持到C的基本理论,程序员,而不是语言,在负责。
在这一点上,关键是要明白,没有创造Stroustrup的一个完全新的编程语言。
相反,他增强了已经非常成功的语言。
的特征,Stroustrup的加入到C大部分被设计为支持面向对象编程。
从本质上讲,C++是在C的面向对象到当C版本的基础建设,Stroustrup的平滑过渡提供了一个面向对象的路径。
而不必去学习一种全新的语言,一个C程序员需要学习收获之前,面向对象方法的好处只有少数几个新的特点。
当创建C++,Stroustrup的知道,重要的是保持,而在同时加入面向对象编程的支持时间的C原始精神,包括它的效率,灵活性和理念。
令人高兴的是,他的目标是完成。
C++仍然提供了自由和C控制与功率耦合的对象,程序员。
虽然C++最初是设计来帮助非常大项目的管理,它是在这个有限的使用没有办法。
事实上,C++的面向对象的属性可以有效地应用于几乎所有的编程任务。
这是并不少见的C++编辑器,例如,数据库,个人档案系统,网络设施和通信程序项目中使用。
因为C++股票C的效率,更高性能的系统软件是用C++构造。
另外,C++是经常的首选Windows编程语言。
对C++演变
由于C++是先发明的,它经历了三个重大修改,每次修改增加和改变的语言。
第一次修订是在1985年和1990年的第二位。
第三次发生在C++标准化进程。
几年前,已开始在一个标准的C++。
为此,一个联合的ANSI(美国国家标准协会)和ISO(国际标准化组织)的标准化委员会成立。
拟议的标准初稿创建于1994年1月25日。
在该草案的ANSI/ISOC++委员会(其中我是成员之一)保持Stroustrup的首次定义的功能和增加了一些新的问题。
但是,在一般情况下,这个初步草案反映了当时的C++的状态。
不久后的C++标准初稿完成后,导致事件发生的标准被大大扩展:
对标准模板库(STL),亚历山大斯捷潘诺夫创作。
STL是一个通用的例程,你可以用它来操纵数据。
它既是强大的
4个C++初学者的指南由HerbertSchildt
典雅。
但它也相当大。
继第一稿,该委员会投票决定,包括在规范的STL对于C++。
除了对STL的扩张远远超过了原来的定义了C++的范围。
虽然重要的是,STL的包容性,除其他外,减缓了标准化的C++。
它是公平地说,对C++标准化远远超过了任何人的预料。
在这个过程中,增加了许多新功能的语言,许多小改动。
事实上,在C++的版本定义的ANSI/ISOC++委员会要大得多,比Stroustrup的原始设计更为复杂。
最后的草案委员会已通过了11月14日,1997年和一个ANSI/ISO标准的C++于1998年成为现实。
这是规范的C++,通常被称为标准C++。
在这本书的材料介绍了标准C++。
这是C++的版本,所有主流的C++编译器,包括微软的VisualC++的支持。
因此,代码和本书中的信息是完全可移植。
关键技能1.2:
C++如何涉及到Java和C#
除了C++中,有两个重要的现代编程语言:
Java和C#。
Java是由SunMicrosystems开发的,而C#是由Microsoft创建的。
因为有时对如何将这些涉及两种语言的C++的混乱,使它们的关系进行了简要讨论秩序。
C++是用于Java和C#的父母。
虽然Java和C#增加,删除和修改了这三种语言的各种特征总的语法,几乎是相同的。
此外,该对象模型的C++中使用类似的Java和C#所使用的。
最后,整体“外观和感觉”这些语言非常类似。
这意味着一旦你知道C++中,你可以很容易地学习Java或C#。
相反也是如此。
如果你知道Java或C#,学习C++很容易。
这是一个原因,Java和C#C++中共享的语法和对象模型,它促进了一批经验丰富的C++程序员军团的快速通过。
与C++,Java的主要区别,而C#是计算每个类型的环境设计。
C++中的建立是为了生产出的CPU和操作系统特定类型的高性能方案。
例如,如果你想编写一个程序,在英特尔奔腾下运行Windows操作系统,则C++是最好的语言使用。
请教专家
问:
如何Java和C#创建一个跨平台,可移植的程序,为什么不能c++这样做?
答:
Java和C#可以创建跨平台的,可移植的程序和C++不能因为目标代码类型由编译器生成。
在C++案例,从编译器的输出是机器代码
5C++的初学者由HerbertSchildt指南
这是由CPU直接执行。
因此,它是针对某一特定的CPU和操作系统。
如果你想运行的C++在不同的系统程序,你需要重新编译成专门为这种环境有针对性的机器代码。
要创建一个C++程序,将运行在各种环境下,几个不同版本的可执行程序是必要的。
Java和C#实现的伪代码编译成一个,中间语言程序的可移植性。
在Java的情况下,这种中间语言被称为字节码。
对于C#,它被称为微软中间语言(MSIL)。
在这两种情况下,这个伪指令通过一个运行系统。
对于Java,这个运行时系统被称为Java虚拟机(JVM)。
对于C#,这是通用语言运行时(CLR)。
因此,Java程序可以运行在任何环境中的一个JVM可用,和C#程序可以运行在任何在CLR是实施环境。
由于Java和C#程序之间的运行时系统和CPU的立场,Java和C#程序招致的开销,是不是在一个C++程序的执行中。
这就是为什么C++程序的运行速度通常比Java或C#编写的等价程序。
Java和C#是应以独特的编程开发需要互联网的网络环境。
(C#的设计也简化了软件组件的创建。
)互联网连接的是CPU和作业系统的许多不同的类型。
因此,有能力生产的跨平台,可移植的程序成为压倒一切的关注。
第一语言来满足这一需要是Java。
使用Java,它可以写一个程序,在各种环境中运行。
因此,一个Java程序可以自由行动在互联网上。
但是,你的价格支付是效率的可移植性和Java程序执行速度慢于做C++程序。
这同样适用于C#的真实。
在最后的分析,如果你想创建高性能软件的开发,使用C++。
如果你需要创建高度可移植软件,使用Java或C#。
最后一点:
记住是C++,Java和C#是为了解决不同的问题集。
这不是一个问题,其中最好的语言和本身。
相反,它是一个问题,其中语言是正确的手头的工作。
1。
从什么语言是C++派生?
2。
什么是主要因素,推动了创建的C++?
3。
C++的是Java和C#的父母。
真或假?
6C++的初学者由HerbertSchildt指南
答案的关键:
1。
C++是从C派生
2。
增加程序复杂性是主要因素,推动了创建的C++。
3。
真。
关键技能1.3:
面向对象编程
中央到C++是面向对象编程(OOP)。
正如刚才解释的,面向对象的动力是为创造的C++。
正因为如此,它是非常有用的理解面向对象编程的基本原则,然后再写入,即使一个简单的C++程序。
面向对象编程了结构化编程的最好的想法,结合他们的一些新的概念。
其结果是程序的不同组织和更好的方式。
在最一般意义上,一个程序可以被组织中的两种方法之一:
围绕其代码(什么事情),或围绕其数据(谁是受影响)。
只使用结构化编程技术,程序通常围绕代码。
这种方法可以被看作是“演戏的数据代码。
”面向对象的程序工作的其他方式。
他们是围绕数据,与主要原则是“数据控制对代码的访问。
”在一个面向对象的语言,你定义的数据和所允许采取行动对这些数据的程序。
因此,精确的数据类型定义什么样的业务分类可以应用到这些数据。
为支持对象的面向对象编程principles,所有OOP语言,包括C++,有三个共同的特点在:
封装,多态性和继承。
让我们来看看每个。
封装
封装是一种编程机制结合在一起的代码和数据被它操控,而且可以防止外界干扰和误用既安全。
在一个面向对象的语言,代码和数据可以绑定在一起这样一种方式,一个独立的黑盒子被创建。
内盒都是必要的数据和代码。
当代码和数据都以这种方式链接在一起,创建一个对象。
换言之,对象是支持封装的设备。
咨询专家
问:
我听到这个词的方法应用到子程序。
是一种方法,作为一个功能一样吗?
答:
一般来说,答案是肯定的。
提到的方法是由Java推广。
什么是C++程序员调用一个函数,一个Java程序员调用一个方法。
C#程序员也使用这个词的方法。
因为它是变得如此广泛的应用,有时这个词时也可使用的方法是指一个C++
7C++的初学者由HerbertSchildt指南
功能。
在一个对象,代码或数据,都可以是私有的对象或公众。
私人代码或数据是众所周知的和可获得的只有另一个对象的一部分。
也就是说,私人代码或数据不能由该程序的对象存在之外的一块访问。
当代码或数据是公开的,程序的其他部分可以访问它,即使它是在一个对象中定义。
通常,一个对象的公共部分,用于提供控制接口的对象的私有元素。
的C++的封装的基本单元是类。
一类定义了对象的形式。
它同时指定了数据和代码,将操作这些数据。
C++使用一类规范建设的对象。
对象是类的实例。
因此,一类是基本上是一套计划,指定如何建立一个对象。
代码和数据,构成一类被称为类的成员。
具体来说,成员变量,也称为实例变量,是由类定义的数据。
成员函数的代码是对这些数据进行操作。
函数是C++的任期为一个子程序。
多态性
多态性(来自希腊语,意思是“很多形式”)是质量,让一个接口来访问一般类的行动。
一个简单的例子是多态性的发现,在汽车的方向盘。
方向盘(接口)是一样的没有什么实际的转向机构的类型是使用的问题。
也就是说,以同样的方向盘你的车是否具有手动转向,动力转向,或齿条和小齿轮转向系统。
因此,转动方向盘左侧的车去的原因没有留下无论什么类型的指导使用。
统一接口的好处是,当然,一旦你知道如何操作方向盘,你可以驾驶任何车型。
同样的原理也适用于编程。
例如,考虑一个堆栈(这是一个先入,最后出来的清单)。
你可能有一个程序,需要三个不同类型的栈。
一个堆栈用于整数值,一个浮点值,以及人物之一。
在这种情况下,算法实现每个堆栈是相同的,即使数据被存储不同。
在非面向对象的语言,你需要创建三个堆栈每个使用不同的名称设置程序,不同的组。
但是,由于多态,在C++中,你可以创建一个堆栈例程,对于所有三种情况下工程的一般设置。
这样,一旦你知道如何使用一个堆栈,你可以使用它们。
更普遍而言,往往是多态的概念所表达的那句“一个接口,多个方法。
”这意味着它可以设计一个通用的接口,一组相关活动。
多态性有助于减少允许同一接口指定一个总的行动类的复杂性。
这是编译器的工作,选择特定的动作(也就是方法),因为它适用于每一种情况。
你,程序员,不需要做此选择手动。
你只需要记住,并利用通用接口。
8C++的初学者由HerbertSchildt指南
继承
继承是过程,一个对象获得另一个对象的属性。
这一点很重要,因为它支持层次分类的概念。
如果你想想看,大多数是由知识阶层式管理(即自上而下)分类。
例如,红元帅苹果是苹果的分类,而这又是水果类,而这在较大类食物的一部分。
也就是说,食品类具有一定的品质(食用,营养丰富等),其中还,从逻辑上讲,适用于它的子类,水果。
除了这些品质,水果类(多汁,甘甜,等等)区别于其他食物它的具体特征。
苹果的类定义这些素质具体到一个苹果(长在树上,而不是热带等)。
阿红元帅苹果将反过来,继承了前面所有类都将定义的素质和品质,只有那些使独一无二的。
如果没有层次结构的使用,每个对象有明确定义它的种种特点。
使用继承,只需要定义一个对象,它独特的品质在同类产品中进行。
它可以继承其父的一般属性。
因此,它是继承机制,它使一个对象是一个更一般的具体实例。
1。
名称OOP的原则。
2。
什么是封装的基本单位,在C++?
3。
什么是常用的一个子程序长期在C++?
答案的关键:
1。
封装,多态性和继承是面向对象的原则。
2。
类是封装的基本单位,在C++。
3。
函数是一个子程序常用的术语在C++。
请教专家
问:
你状态的面向对象编程(OOP)是一种有效的方法来管理大型程序。
然而,似乎OOP的可能大大增加开销相对小的。
因为它涉及到C++,
9C++的初学者由HerbertSchildt指南
这是真的吗?
答:
第一个关键点,了解有关C++是它允许你写面向对象的程序,但不要求你这样做。
这是与C++和Java/C#中,它采用了严格的对象模型,其中每一个方案,至少一个小范围的,面向对象的重要区别之一。
的C++让您选择。
此外,在大多数情况下,面向对象的C++功能,在运行时透明的,所以很少(如果有的话)的开销费用。
关键技能1.4:
阿第一个简单的程序
现在是时候开始编程。
让我们通过编译和运行简单的例子C++程序所示这里开始:
/*这是一个简单的C++程序。
调用此文件Sample.cpp。
*/#包括使用命名空间std;//一个C++程序在main()开始。
诠释的main(){法庭<<“C++是功率编程。
”;返回0;}你将遵循以下三个步骤:
1。
进入程序。
2。
编译程序。
3。
运行该程序。
开始之前,让我们回顾一下两个方面:
源代码和目标代码。
源代码是该方案的人类可读的形式。
它存储在一个文本文件。
目标代码是由编译器创建的可执行程序的形式。
10架C++初学者的指南由HerbertSchildt
输入程序
在这本书中显示的程序都可以从奥斯本的网站:
。
不过,如果你想手工输入的程序,你可以自由地这样做。
方案中键入自己经常帮你记住的关键概念。
如果您选择手工输入一个程序,你必须使用一个文本编辑器,而不是一个文字处理器。
字处理器通常除了文字格式储存的信息。
这种格式的信息将混淆的C++编译器。
如果您使用的是Windows平台,那么你可以使用写字板,或任何其他程序编辑器,你喜欢。
该文件包含该程序的源代码名称是技术上任意的。
然而,C++程序通常包含在文件中使用的文件扩展名的。
cpp。
因此,你可以叫任何名字的C++程序文件,但它应该使用的。
cpp的扩展。
对于第一个例子中,源文件Sample.cpp名称,以便您可以跟随。
就在这本书的其它方案大多,只需使用您自己选择的名称。
编译程序
你怎么会在你的编译器编译Sample.cpp什么取决于您所使用的选项。
此外,许多编译器,如微软的VisualC++速成版,你可以免费下载,提供两种不同的方法编制的程序:
命令行编译器和集成开发环境(IDE)。
因此,这是不可能给予编译C++程序广义指示。
你必须咨询你的编译器的说明。
虽有前款规定,如果您使用VisualC++,那么最简单的方法来编译和运行方案,这本书是使用命令行编译器所提供的这些环境。
例如,要编译Sample.cpp使用VisualC++,您将使用此命令行:
C:
\...>中的cl-GX的Sample.cpp的-GX选项增强汇编。
使用VisualC++命令行编译器,你必须首先执行该批处理文件的vcvars32.bat,这是由VisualC++提供。
(VisualStudio还提供了一个现成使用的命令提示符环境,可通过选择下的MicrosoftVisualStudio,在开始进入显示工具列出了VisualStudio命令提示符启动。
|程序任务栏菜单)的输出一个C++编译器可执行目标代码。
对于Windows环境下,可执行文件将使用与源文件相同的名称,但具有。
exe扩展名。
因此,Sample.cpp可执行版本将在Sample.exe。
运行程序
经过++程序已编译的C,它已准备好运行。
由于从C++编译器是可执行的目标代码,输出到运行程序,只需在命令提示符下输入其名称。
例如,要运行Sample.exe,使用这个命令行:
ç:
\...>样本
11C++的初学者由HerbertSchildt指南
当运行时,程序会显示下列输出:
C++就是力量编程。
如果您使用的是集成开发环境,那么你可以通过选择从菜单运行程序。
请咨询您的特定编译器的指令。
对于这本书的方案,它通常更容易编译并运行命令行。
最后一点:
在这本书中的方案是基于控制台,而不是基于窗口。
也就是说,他们在命令提示符会话中运行。
C++是完全不符合Windows编程回家。
事实上,它是用于Windows开发的最常用的语言。
然而,在本手册中使用Windows图形用户界面(GUI)的方案没有。
这样做的原因很容易理解:
Windows程序是由它们的性质,庞大而复杂的。
必须创造出一个最小的Windows骨骼计划的开销是50至70行代码。
编写Windows程序,演示了C++的功能需要的代码行,每行数百人。
与此相反,基于控制台的程序要短得多,是类课程通常用来教编程。
一旦你掌握了C++中,你将能够适用于任何麻烦你的知识,Windows编程。
第一个样品的程序行线
虽然Sample.cpp很短,它包括几个非常常见的所有C++程序的主要功能。
让我们仔细检查每个方案的一部分。
该计划开始于线/*这是一个简单的C++程序。
调用此文件Sample.cpp。
*/这是一条评论。
像大多数其他编程语言C++允许你进入到一个程序的源代码表示的。
一个注释的内容被编译器忽略。
注释的目的是描述或解释程序的操作,任何人阅读它的源代码。
在本意见的情况下,它确定了方案。
在较为复杂的程序,你会使用注释来帮助解释了每个方案的特点是,如何去宣传他们的工作。
换句话说,你可以使用注释来提供一个“播放按播放”是什么?
你的程序的说明。
在C++中,有两种类型的注释。
你刚才看到了一个被称为多行注释。
这种类型的注释开始于/*(星号后斜线)。
只有当它结束*/是遇到的问题。
这两个符号之间的任何评论完全忽视了编译器。
多行注释可能有一个或多个行长。
该评论(单线)第二类是在发现了一个小程序进一步随后我们会讨论。
下一行的代码如下:
#包括
12个C++初学者的指南由HerbertSchildt
在C++语言定义了几个头,其中包含的信息,要么是必要的或有用的程序。
此程序需要的iost