2012-06-17 4 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

이라는 정적 INT 멤버와 클래스 A가 상상 그렇게 할 수 있습니다

class A { 
     public: 
     static int a; 
    }; 

와이 액세스 기본 함수에서 말할 수는 사용 않는 한이

int new_variable = A::a; 

이 잘 작동 액세스 SPECI 때문에 fier는 공개입니다.

이제 public에서 private (또는 protected)로 변경하면 private 멤버는 클래스 자체에서만 액세스 할 수 있으므로 코드가 컴파일되지 않습니다.

관련 문제