C++中的类

一、C++中的类

访问控制:

        关键字public和private描述对类成员的访问控制。使用类对象的程序都可以直接访问共有部分,但只能通过公有成员函数(或友元函数)来访问对象的私有成员。公有成员函数是程序和对象的私有成员之间的桥梁,提供了对象和程序的接口。

        数据隐藏(将数据放在类的私有部分中)是一种封装,将实现的细节隐藏在私有部分中也是一种封装。封装的另一个例子是将类函数定义和类声明放在不同的文件中。

控制对成员的访问:公有还是私有

        无论类成员是数据成员还是成员函数,都可以在类的公有部分或私有部分中声明它。但由于隐藏数据是OOP主要的目标之一,因此数据项通常放在私有部分,组成类接口的成员函数通常放在公有部分;否则就无法从程序中调用这些函数。

        但也可以把成员函数放在私有部分中,虽然不能从程序中调用这种函数,但公有方法却可以使用它们。通常,程序员使用私有成员函数来处理不属于公有接口的实现细节。

        另外,不必在类声明中使用关键字private,因为这是对类对象的默认访问控制。

类和结构:

        类描述看上去很像是包含成员函数以及public和private可见性标签的结构声明。实际上,C++对结构进行了扩展,使之具有与类相同的特性。它们之间唯一的区别是,结构的默认访问类型是public,而类为private。C++程序员同行使用类来实现类描述,而把结构限制为只表示纯粹的数据对象。

二、实现类成员函数

        还需要创建类描述的第二部分:为那些由类声明中的原型表示的成员函数提供代码。成员函数定义与常规函数定义非常相似,它们都有函数头和函数体,也有返回类型和参数。但还有两个特殊的特征:

        1、定义成员函数时,使用作用域解析运算符(::)来标识函数所属的类,如void Stock::update(double price)。

       2、类方法可以访问类的private组件。

        类方法的完整名称中包括类名。Stock::update()是函数的限定名,而简单的update()是全名的缩写,是非限定名,它只能在类作用域中使用。

        方法的第二个特点是,方法可以访问类的私有成员。



猜你喜欢

转载自blog.csdn.net/wxn704414736/article/details/80182073