2017-03-06 3 views
1

friend 함수가 클래스의 private 멤버에 액세스하지 못하게하려면 어떻게해야합니까? 우리가 이걸 전혀 할 수 있을까?friend 함수가 클래스의 private 멤버에 액세스하지 못하도록합니다.

이 질문은 인터뷰에서 질문되었으며 그가 할 수 있다고 확신했기 때문에 그는 functor/function 개체에 대한 힌트를주었습니다. 지금까지 나는 아무것도 생각할 수 없다. 나는 그 대답에 대해 흥분한다.

+5

함수를 클래스의 '친구'로 만들지 않습니까? –

+2

[핌플] (http://en.cppreference.com/w/cpp/language/pimpl)? 내가 상상할 수있는 가장 가까운 것. – felix

+1

나는 인터뷰에서 그러한 골프장 관련 질문을 이해하지 못합니다. 그러한 질문이 인터뷰 대상자에게 제공하는 정보는 그들이 신청하는 역할에 유용 할 것입니까? '친구'의 유일한 목적은 '비공개'회원에 대한 액세스를 허용하는 것입니다. –

답변

2

어떻게하면 친구 기능이 클래스의 전용 멤버에 액세스하지 못하게 할 수 있습니까? 우리가 이걸 전혀 할 수 있을까?

아니요.

수업 중 무언가가 friend으로 알려 지자 곧 private 회원에 액세스 할 수있는 문이 열립니다.

0

캡슐화의 아이디어는 데이터와 데이터를 처리하는 메소드를 함께 묶어 클래스 외부의 개인 데이터 멤버에 대한 액세스를 제한하는 것입니다. C++에서 friend 함수 또는 friend 클래스는 개인 데이터 멤버에 액세스 할 수 있습니다.

관련 문제