3.1.4 类范围
类的私有成员具有类范围(Class Scope)性质,也就是说,类的私有成员仅能由类的成员函数访问。
例3-7
本例中的类声明赋予数据成员d类范围性质(因为d是私有的)。相反,成员函数m拥有公有范围性质(因为m是公有成员,可以在类之外进行访问)。
在C++(www.cppentry.com)中,用关键字class声明的类,其类成员在默认情况下具有类范围性质,在这种情况下,如果没有为类成员指定任何访问限制符(public、private或protected),这个成员将作为私有成员处理。
例3-8
类声明
是等价的。第一种定义方式中,x默认地定义为私有成员;第二种定义方式中,x显式地定义为私有成员。
本书中,我们使用public关键字将公有成员放在类声明的开头位置,这会提醒我们在后边别忘了为私有成员添加private关键字,这样做至少让类声明代码看起来显得比较清晰。并且,既然公有成员组成了类的接口,将它们放在开头位置也是合适的。
信息隐藏原理促使我们将类实现(特别是数据成员)部分设计为私有成员,即赋予类实现以类范围性质。将数据成员限制到类范围,是将类设计为抽象数据类型的关键步骤。