第3章 类
本章阐述用C++(www.cppentry.com)语言进行面向对象程序设计的基础内容。由于无论使用什么语言进行面向对象程序设计都是从类的设计开始,因此,我们首先学习在C++(www.cppentry.com)中声明一个类的语法。
3.1 类和对象
3.1.1 类声明
在C++(www.cppentry.com)中,一个类就是一种数据类型。标准C++(www.cppentry.com)定义了一些内建的类,例如string。通过创建自己的类,程序员可以对C++(www.cppentry.com)语言进行扩展。通过类声明(Class Declaration)可以创建一个类,而且可将这个类当做数据类型来使用。类声明描述了封装在该类中的数据成员(data member)和成员函数(function member)。
例3-1
|
本例创建了Human类,该声明描述了Human类的数据成员和成员函数,这些数据成员和成员函数用来表现人的一些特性。
在上述声明中,class是个关键字,而其后的Human有时称为类标签,我们通过类声明创建了一个数据类型,而这个标签就是该数据类型的标识符或名字。请注意在类声明中的花括号“}”之后有一个分号“;”,这个分号是不可缺少的。
有了Human类的声明,使用语句
定义了一个Human类型变量。从面向对象程序设计的角度来看,在C++(www.cppentry.com)中以一个类(如Human)作数据类型定义的变量就是对象。
在定义类的任何对象之前必须首先给出这个类的声明。因此,在例3-1中,我们首先给出Human类的声明,然后再定义Human的对象maryLeakey。需要指出的是,定义对象时关键字class是可有可无的,只要首先给出Human类的声明,就可通过以下两种方式定义Human类的对象:
给出Human类的声明后,我们不仅可以定义单独的Human对象,如maryLeakey,还可以定义Human对象的数组。
例3-2
有了例3-1给出的Human类声明,代码段
定义了一个拥有3 600 000个元素的数组latvians,其中每个元素都是Human类型。
C++(www.cppentry.com)对C语言的结构进行了扩展,在C++(www.cppentry.com)中使用关键字struct创建的是一个类。
例3-3
|
本例的类声明使用关键字struct代替了class来创建Human类。
虽然关键字class和struct都可以用来声明一个C++(www.cppentry.com)类,但它们在类所支持的默认信息隐藏机制方面有着显著的差别。

