클래스의 비공개 멤버는 해당 클래스의 멤버만 접근할 수 있습니다. 이는 객체 지향 캡슐화 원칙을 유지하기 위해 수행되며 데이터 및 관련 기능이 단일 단위로 유지되고 클래스 멤버에서만 액세스할 수 있도록 보장합니다. C++에는 클래스 멤버의 가시성을 지정하는 세 가지 액세스 제어가 있습니다. 이 세 가지 액세스 제어 문자는 −
입니다.Public − 클래스의 멤버가 공개적으로 표시되면 다른 클래스에서 이 멤버에 액세스할 수 있습니다.
비공개 − 비공개 표시가 있는 클래스 구성원은 클래스 내에서만 액세스할 수 있습니다.
Protected − protected 클래스 멤버는 해당 클래스의 with9 또는 해당 하위 클래스에서만 액세스할 수 있습니다.
이 기사에서는 클래스의 비공개 멤버에 액세스하는 데만 중점을 둘 것입니다.
Getter 및 setter 함수는 클래스의 비공개 멤버에 액세스하고 수정하는 데 사용됩니다. 이름에서 알 수 있듯이 getter 함수는 데이터 멤버를 반환하는 반면 setter 함수는 데이터 멤버를 "set"하거나 수정하는 데 사용됩니다. 이 개념을 더 잘 이해하기 위해 두 가지 예를 사용하지만 그 전에 기본 구문은 다음과 같습니다.
Getter/ 접근자 기능 −
으아악Setter/Mutator 기능−
으아악비공개 멤버 함수에 접근할 때도 상황은 동일합니다. 데이터 멤버에 액세스하는 것과 같은 방식으로 클래스 멤버 메서드 내부에서 액세스해야 합니다. 이름 충돌을 피하기 위해 "this" 포인터를 사용할 수 있습니다.
비공개 멤버 함수를 호출하는 함수는 공개로 선언해야 합니다. 공용 함수는 이 클래스의 객체에서 호출될 때만 실행됩니다.
C++에서 친구 클래스는 다른 클래스에는 표시되지 않는 다른 클래스의 private 및 protected 멤버에 액세스할 수 있는 클래스입니다. 클래스를 다른 클래스의 친구로 선언하려면 'friend' 키워드를 사용하세요. 그것이 어떻게 작동하는지 봅시다.
C++에서 친구 함수는 친구 클래스와 유사합니다. 여기서는 클래스의 멤버가 아닌 특정 함수를 "친구"로 선언할 수 있으며 해당 함수는 클래스의 비공개 멤버에 액세스할 수 있습니다. 함수를 “friend”로 정의하는 방법의 구문을 살펴보겠습니다.
클래스의 비공개 데이터 멤버에 액세스할 때는 accessor/getter 및 modifier/setter 함수를 사용하는 것이 좋습니다. 이는 클래스의 데이터 멤버에 액세스하는 가장 안전한 방법입니다. 항상 기억해야 할 한 가지는 비공개 멤버에 액세스하는 함수는 공개로 선언해야 한다는 것입니다. 다른 객체지향 언어에서는 프렌드 함수를 사용할 수 없습니다. 객체지향 캡슐화의 속성이 항상 유지되는 것은 아니기 때문입니다. 친구 관계는 비대칭입니다. 클래스 A가 클래스 B를 친구로 선언하면 클래스 B는 A의 모든 멤버에 액세스할 수 있지만 A는 B의 모든 프라이빗 멤버에 액세스할 수 없습니다.
위 내용은 C++ 프로그램은 클래스의 전용 멤버에 액세스합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!