2012-06-17 59 views

回答

4

这意味着这些变量不能被访问,除非在类本身内。

public成员可以从课外访问。
protected成员可以在类和其派生类中访问&
private成员只能在类中访问。

请注意,成员是static或不相同的访问规范规则适用于它。
static意味着存储说明书和所述的一些部件会横跨类的所有实例共享它不会改变其中所述构件可以被访问。

读取良好:

What are access specifiers? Should I inherit with private, protected or public?

2

private变量意味着它只能它被声明在类的范围内进行访问,即,(类不能访问外部声明的任何功能读取或写入)私有变量。

将变量声明为static意味着它将在该类的所有实例中保持相同的值。

1

您可能希望这样做,如果你需要隐藏的信息(private),并有一个类变量,而不是一个对象变量(static

1

想象一下,你有一个类A,与静态INT成员称为

class A { 
     public: 
     static int a; 
    }; 

,并让您的主要功能说你访问此为你使用

int new_variable = A::a; 

这工作得很好,因为你的访问SPECI更加公开。

现在将其从公共转换为私有(或受保护),并且您的代码无法编译,因为私有成员只能由该类本身访问。