C++语言是一种应用较广的面向对象的程序设计语言,使用它可以实现面向对象的程序设计。面向对象的设计与面向过程的设计是有很大区别的。本节将通过讲述C++语言的发展历程和C++语言的特点让读者对C++有一个初步的了解。
早期的计算机程序语言是计算机控制指令,每条指令就是一组二进制数,不同的计算都有不同的计算机指令集。使用二进制指令集开发程序是件很头痛的事,需要记住大量的二进制数。为了便于记忆,人们将二进制数用字母组合代替,以字符串关键字代替二进制机器码的编程语言称为汇编语言,汇编语言是低级语言,虽然汇编语言比机器码容易记忆,但仍然具有可读性差的缺点,大量的跳转指令和地址值很难让程序员在很短的时间内理解程序的意思,于是编程语言进入了高级语言时代。
第一个高级语言是美国尤尼法克公司在1952年研制成功的Short Code,但被广泛使用的高级语言是FORTRAN,它是由美国科学家巴克斯设计并在IBM公司的计算机上实现的,但FORTRAN语言和Algol60主要应用于科学和工程计算,随后出现了Pascal和C语言。C语言是在其他语言基础上发展起来的。首先是Richard Martin开发一种高级语言BCPL,随后Ken Thompson使用BCPL语言对其进行了简化,形成一门新的语言—B语言。但B语言没有类型的概念,Dennis Ritchie对B语言进行了研究和改进,在B语言基础上添加了结构和类型,并将这个改进后的语言命名为C语言,寓意很简单,因为在英文字母表中,字母C是字母B的下一个字母,这预示着语言的发展。
而C++语言就是从C语言发展过来的。Stroustrup经过钻研在C语言中加入类的概念,C++最初的名字是C with Class,到1983年12月由Rick Mascitti建议改名为C Plus Plus,即C++。首先提出类的概念的语言是Simula,它具有很高的灵活性,但无法胜任比较大型的程序。此后在Simula语言基础上发展的Smalltalk语言才是真正的面向对象语言,但Smalltalk-80不支持多继承。
C++从Simula继承了类的概念,从Algol68继承了运算符重载、引用,以及在任何地方声明变量的功能,从BCPL获得了用“//”注释,从Ada得到了模板、命名空间,从Ada、Clu和ML得到了异常。
C++语言的运算符十分丰富,共有30多个,有算术、关系、逻辑、位、赋值、指针、条件、逗号、下标、类型转换等多种类型。
C++语言的数据结构多样,有整型、实型、字符型、枚举类型等基本类型,有数组、结构体、共用体等构造类型以及指针类型;还为用户提供了自定义数据类型,能够实现复杂的数据结构;还可以定义类实现面向对象编程,类和指针结合可以实现高效的程序。
C++语言的控制语句形式多样、使用方便。有两路分支、多路分支和虚幻结构几种控制语句,便于结构化模块的实现和控制,结合面向对象编程便于程序的编制和维护。
C++语言是一种面向对象的程序设计语言,采用抽象和实际相结合,各对象间使用消息进行通信,对象通过继承方法增加了代码的复用。
C++语言继承了C语言的特性,可以直接访问地址,进行位运算,从而能对硬件进行操作。C++语句具有编写简单方便、便于理解的优点,还具有低级语言与硬件结合紧密的优点。
C++语句具有很强的移植性,用C++编写的程序基本不用太多的修改就可用于不同型号的计算机上,C++标准可在多种操作系统下使用。