|
|
|
|
|
|
|
|
|
|
|
|
|
类定义包含两部分:类头(Class Head),由关键字class及其后面的类名构成;类体(Class Body),由一对花括号包围起来。类定义后面必须接一个分号或一列声明。一个类类型中可以有两种成员:数据和操作。在C++语言中称它们为数据成员和成员函数。根据它们的被访问权限,成员又可以分为私有段成员、保护段成员和公有段成员。例如:
|
|
|
|
|
|
其中,类名是一个标识符,代表类类型的类型名;private、protected和public称为段约束符,其中private可以省略;{}以内的部分称为类内,{}以外的部分称为类外。
|
|
|
|
|
|
|
|
为了防止程序的函数直接访问类类型的内部表示而提供的一种形式化机制,叫作信息隐藏。类成员的访问限制是通过类体内被标记为public、private以及protected的部分来定的。关键字public、private和protected被称为访问限定符(Access Specifier)。在公有public区域内被声明的成员是公有成员,在私有private或被保护的protected区域内被声明的成员是私有或被保护的成员。
|
|
|
|
(1)公有成员(Public Member):在程序的任何地方都可以被访问。
|
|
|
|
(2)私有成员(Private Member):只能被成员函数和类的友元访问。
|
|
|
|
(3)被保护成员(Protected Member):对派生类(Derived Class)就像public成员一样,对其他程序则表现得像private。
|
|
|
|
|
|
|
|
或者定义一个指向对象的指针来访问公有段的成员。方式为:
|
|
|
|
|
|
|
|
|
|
|
|
在C++语言中,结构是另外一种形式的类。C++语言的结构也像class类一样的包括数据和成员函数。C++语言结构和类的差别在于,在采用默认段约束符时,类的成员是私有的,而结构的成员是公有的。除此之外,类与结构有完全相同的功能。所以结构又被称为其全部成员都是公有成员的类。
|
|
|
|
struct类包括的数据成员和成员函数都是公有的。如果要在结构类中定义私有数据,需要显式地给出关键字private。
|
|
|
|
C++程序员一般都使用类来定义对象的形式,而用C语言的方式使用结构。
|
|
|
|
|
|
联合是将所有元素都存储在同一位置上的结构。在C++语言中,联合也是一种类。联合的所有成员只能为公有成员。关键字private不能用于联合。
|
|
|