在C++语言中,存在三种类的类型:类、结构和联合。它们分别使用三个关键字来声明和定义类:class、struct和union。简单地说,用这三个关键字定义的类型都称为类说明(Class Declaration)。但是在讨论语言成分时,用不同的关键字定义的类,其行为是不同的。下面我们给出一个使用class来定义类的示例:
class Ccircle
{
pliblic;
unsigned Radius;
Cpoint Center;
}
接着我们使用关键字struct来定义类Cpoint:
struct Cpoint
{
unsigned x;
unsigned y;
)
细心的读者会注意到,在类CCircle的定义中,我们使用了public关键字,而在类Cpoint的定义中却没有使用。这是因为在使用struct定义的类中,成员的默认访问权限为公有,因此不需要使用public关键字,而对于使用class关键字来定义的类,由于其成员的默认访问权限为私有,因此必须使用关键字public来将成员Radius和Center的访问权限设置为公有。一般来说,一个类中总是包括了一定数量的公有成员,没有公有成员的类由于没有提供任何接口,所以事实上没有什么用的。
在C++中说明类的一般形式为:
class class—name
pLiblic:
公有数据和成员函数
protected:
保护数据和成员函数
priVate:
私有数据和成员函数
)
关键字class表明了一个类说明的开始,class。name为用户定义的类名,类中所有的内容要用大括号括起来,类中定义的数据(变量)和函数分别称为成员数据(变量)和成员函数。如果我们在程序中定义了:
class name a
则a为类class name的一个实例,或称为对象。
我们在上面看到,C++的类成员分为三种级别的访问权限,它们分别用关键字public、protected和private来表示:
·Public(公有的):说明类的成员是公有的,它不仅可以被该类的成员函数访问,而且可以被外界访问。
·Private(私有的):说明类的成员是私有的,只能被该类的成员函数和友元函数访问,外界不能直接访问它。
·Protected(保护的):说明类的成员是被保护的,只能被该类的成员函数、友元函数和该类的派生类的成员函数访问。