优秀的面向对象的设计语言——C++语言

开发 后端
C++语言是一种面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。

其实C语言的语法与C++语言非常相似,有些变化引起的错误却很严重,本文就对于大多数用户头疼的C++语言进行详细的剖析与介绍,希望能给大家带来有用的信息。

C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++***地体现了面向对象的各种特性。

Bjarne Stroustrup(C++的设计者)对C++的设计和演化的描述C++的设计和演化(The Design and Evolution of C++)

C++程序设计语言是由来自AT&T Bell Laboratories的Bjarne Stroustrup(即本文作者)设计和实现的,它兼具Simula语言在组织与设计方面的特性以及适用于系统程序设计的C语言设

C++最初的版本被称作“带类的C(C with classes)”[Stroustrup,1980],在1980年被***次投入使用;当时它只支持系统程序设计(§3)和数据抽象技术(§4.1)。支持面向对象程序设计的语言设施在1983年被加入C++;之后,面向对象设计方法和面向对象程序设计技术就逐渐进入了C++领域。

在1985年,C++***次投入商业市场[Stroustrup,1986][Stroustrup,1986b]。在1987至1989年间,支持范型程序设计的语言设施也被加进了C++[Ellis,1990][Stroustrup,1991]。随着若干独立开发的C++实现产品的出现和广泛应用,正式的C++标准化工作在1990年启动。标准化工作由ANSI(American National Standard Institute)以及后来加入的ISO(International Standards Organization)负责。

1998年正式发布了C++语言的国际标准[C++,1998]。在标准化工作进展期间,标准委员会充当了一个重要的角色,其发布的C++标准之草案在正式标准发布之前,一直被作为过渡标准而存在。

而作为标准委员会中的积极分子,我是C++进一步发展工作中的主要参与者。与以前的C++语言版本相比,标准C++更接近我理想中的那个C++语言了。关于C++的设计和演化,在[Stroustrup,1994]、[Stroustrup,1996]和[Stroustrup,1997b]中有详细的叙述。至于标准化工作末期产生的C++语言定义,在[Stroustrup,1997]有详细叙述。

C++的设计目标(C++ Design Aims)

C++的设计目标,就是要让C++既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织结构方面具有像Simula那样的语言设施(Simula所支持的这种程序组织结构通常被称为面向对象程序设计风格)。

在设计的时候,还做了很大的努力,使得引借自Simula的高层次的程序设计技术能够应用于系统程序设计之中。这即是说,C++所提供的抽象机制能够被应用于那些对效率和可适应性具有极高要求的程序设计任务之中。

上述的C++之设计目标可以小结如下:

对于要解决实际问题的程序员而言,C++使程序设计变得更有乐趣;

C++语言是一门通用目的的程序设计语言,它:

◆是一个更好的C;
◆支持数据抽象;
◆支持面向对象程序设计;
◆支持范型程序设计。

对范型程序设计的支持在C++设计的后期才被作为一个明确、独立的目标来实现。而在C++演化过程的大部分时间里,我一直把范型程序设计以及支持它的语言特性划归在“数据抽象”的大标题之下。

【编辑推荐】

  1. 简介学习C++总结之谈
  2. 对C++库函数进行学习探索总结笔记
  3. C++类库设计的基本构思与方法
  4. C++语言真的还有市场价值?
  5. C++类库设计的基本构思与方法
责任编辑:chenqingxiang 来源: 51CTO.com
相关推荐

2010-01-13 14:05:55

C++语言

2011-06-02 09:47:11

C语言重构

2010-08-24 16:00:43

C语言

2010-03-01 17:47:53

Python语言

2022-10-21 09:01:41

StudentC++类型

2010-01-15 17:38:37

C++语言

2010-01-22 10:36:25

C++语言

2010-01-21 17:41:15

C++语言

2024-04-02 07:32:58

Go语言接口

2011-07-10 15:36:54

C++

2009-07-14 16:51:50

Jython中的对象

2010-01-15 14:46:20

C++语言

2020-04-15 11:07:31

C语言对象思想

2022-10-12 08:38:51

C语言classC++

2010-01-22 15:30:36

C++语言

2010-01-21 16:24:02

C++语言

2021-05-28 05:34:06

Golang语言编程

2010-01-20 09:48:44

面向对象

2020-10-10 11:03:24

面向对象编程语言开发

2024-01-08 07:02:48

数据设计模式
点赞
收藏

51CTO技术栈公众号