我可以private static
在类中声明成员变量,但这是什么意思?
有什么区别private static
和public static
成员变量?
这意味着除了类本身之外,不能在任何地方访问这些变量。
public
成员可以从类外部访问。
protected
成员可以在类中访问,其派生类和
private
成员只能在类中访问。
请注意,成员是否static
相同,访问规范规则适用于它。
static
意味着存储规范,并且某个成员将在类的所有实例之间共享,它不会改变可以访问该成员的位置。
好读:
private
变量意味着它只能在声明它的类的范围内被访问,也就是说,在类之外声明的任何函数都不能访问(读取或写入)私有变量。
将变量声明为static
意味着它将在该类的所有实例中保持相同的值。
想象一下,你有一个 A 类,其中有一个名为 a 的静态 int 成员
class A {
public:
static int a;
};
让我们从您的主要功能中说,您可以像使用一样访问它
int new_variable = A::a;
这很好用,因为您的访问说明符是公开的。
现在将其从公共更改为私有(或受保护),您的代码将无法编译,因为私有成员只能由类本身访问。
private
如果您需要隐藏信息 ( ) 并使用类变量而不是对象变量 ( static
) ,您可能想要这样做