2012-08-08 4 views
-2

곧 끝날 빠른 질문이 있습니다. 전용 멤버 데이터 및 함수는 생성자 만 액세스 할 수 있습니까?개인 회원 데이터 및 기능에 액세스하기

답변 및 정교하게 평가되었습니다.

여기 너희들에 와서 저를 묻는 메시지가 질문과 대답 :

편집 :

5) 문이 전용 멤버 변수에 액세스하는 잘못된 시도 할 때 결정할 수 또는 기능. -이 함수는 제공되지 않으며 private 함수 및 변수는 생성자에서만 액세스 할 수 있습니다.

이렇게 잘못 되었나요?

+1

아니요, 아니요, 클래스의 비공개 멤버는 해당 클래스의 다른 멤버가 액세스 할 수 있습니다. 'const' 멤버를 초기화 할 생각인가요? –

답변

2

예, 잘못되었습니다. 표준에서

(ISO/IEC 14882 : 2003 (E), §11.0/1) :

클래스의 회원이 될 수
        - 개인; 즉, 이름이 선언 된 클래스의 멤버 및 친구들 만 사용할 수 있습니다.

회원하지 생성자 말한다.

0

다른 클래스 또는 다른 하위 클래스가 아닌 클래스 내부의 개인 멤버에 액세스 할 수 있습니다.

+0

문제의 다른 클래스가 '친구'로 선언되지 않는 한 –

+0

아, 예, 저는 Java에 대해 이야기하고 있다고 생각했지만 C++입니다. –

0

아니요, 개체 외부의 모든 곳에서 액세스 할 수 있으며 외부에서 액세스 할 수 없습니다.

0

생성자뿐만 아니라 개체 내부에서 이러한 개체에 접근 할 수 있습니다.

또한 가능한 방법을 궁금해 할 경우를 대비하여 개체 외부에서 가져 오거나 설정하는 방법을 가져오고 설정해야합니다.

1

클래스의 개인 멤버는 해당 클래스 메서드에서 액세스 할 수 있습니다. 고려해야 할 점은 this 포인터가없고 정적 멤버 변수에만 액세스 할 수있는 정적 멤버 함수입니다. 프렌드 함수 및 프렌드 클래스는 클래스 전용 멤버 변수에 액세스 할 수도 있습니다.

관련 문제