반응형
C ++에서 친구 선언-공개와 비공개의 차이점
친구 기능 / 클래스를 비공개 또는 공개로 선언하는 것에는 차이가 있습니까? 온라인에서이 내용을 찾을 수 없습니다.
나는 다음의 차이점을 의미한다.
class A
{
public:
friend class B;
};
과
class A
{
private: //or nothing as the default is private
friend class B;
};
차이가 있습니까?
아니요, 차이점은 없습니다. 클래스 B는 클래스 A의 친구이며 이제 개인 및 보호 된 멤버에 액세스 할 수 있습니다.
구문 friend class B
은 클래스 의 멤버 를 선언하지 않으므로 클래스 A
를 작성하는 위치는 중요하지 않으므로 class B
는 class 의 친구입니다 A
.
당신이 쓰는 경우에도 friend class B
에서 protected
의 섹션 A
, 그것은 그 말은하지 않습니다 B
만 액세스 할 수 있습니다 protected
과 public
의 구성원 A
.
한 B
번의 친구가 A
되면, 어느 섹션 에서든 어떤 회원 이든 액세스 할 수 있다는 것을 항상 기억하십시오 .A
friend class B
친구 선언은 클래스 본문에 나타나고 친구 선언이 나타나는 클래스의 비공개 및 보호 된 멤버에게 함수 또는 다른 클래스 액세스 권한을 부여합니다.
이러한 액세스 지정자는 친구 선언의 의미에 영향을 미치지 않습니다 (비공개 : 공개 또는 공개 섹션에 표시 될 수 있음).
반응형
'IT박스' 카테고리의 다른 글
R에서 "throw"에 해당 (0) | 2020.07.05 |
---|---|
힘내 bash 오류 : 자식 프로세스를 포크 할 수 없습니다 : 사용 가능한 터미널이 없습니다 (-1) (0) | 2020.07.05 |
더 이상 사용되지 않는 android.support.v4.app.ActionBarDrawerToggle을 바꾸는 방법 (0) | 2020.07.05 |
튜플을 가변 템플릿 함수의 인수로 어떻게 확장합니까? (0) | 2020.07.05 |
jQTouch와 jQuery Mobile의 차이점 (0) | 2020.07.05 |