1.2 C++(www.cppentry.com)概述
读者知道,C++(www.cppentry.com)是由C语言发展而来,与C语言完全兼容。C++(www.cppentry.com)在C语言语法的基础上做了扩充,最主要的是引入了类,增加了面向对象机制,如继承、派生、多态等。从而实现了由面向过程向面向对象的转变,支持面向对象的程序设计。
1.2.1 C++(www.cppentry.com)的特征
前面提到,C++(www.cppentry.com)是一种面向对象的程序设计语言。面向对象程序设计是一种程序设计方法,它模仿了人们建立现实世界模型的方法,基础是对象和类。在面向对象程序设计中,现实世界中客观存在的事物都称为对象,而具有相同特征的对象则可归纳为类。例如,张三是一个对象,而人则是一个类,如图1.6所示。
|
| 图1.6 类与对象 |
在C++(www.cppentry.com)中,对象是构成信息系统的基本单位,类(class)是对一组性质相同的对象的描述。简单地说,类是用户定义的一种新的数据类型,是C++(www.cppentry.com)程序设计的核心。由于C++(www.cppentry.com)是一种面向对象语言,因此面向对象程序设计的主要特征也是C++(www.cppentry.com)的主要特点,具体如下。
封装性:所谓封装就是将一组数据和与这组数据有关的操作集合组装在一起,形成一个能动的实体,也就是对象。C++(www.cppentry.com)中通过建立类这个数据类型来支持封装性。
继承性:继承是指一个类具有另一个类的属性和行为。这个类既具有另一个类的全部特征,又具有自身的独有特征。C++(www.cppentry.com)中将其称为派生类(或子类),而将其所继承的类称为基类(或父类)。
多态性:多态是指不同的对象调用相同名称的函数,并引发完全不同的行为。C++(www.cppentry.com)中的多态性通过使用函数重载、模板和虚函数等概念实现。
近几年来,C++(www.cppentry.com)得到许多扩展,使其具有更多独有的特点。C++(www.cppentry.com)模板是近几年来对此语言的一种扩展,模板是根据类型的参数产生函数和类的机制,有时也称模板为"参数化的类型"。使用模板,可以设计一个对许多类型数据进行操作的类,而不需要为每个类型的数据建立一个单独的类。标准模板库(Standard Template Library,STL)和微软的活动模板库(Active Template Library,ATL)都基于C++(www.cppentry.com)语言扩展,这些在后续的章节中都将逐一介绍。