C ++에서 비공개 및 공개 란 무엇입니까?


최상의 답변

공개 및 비공개는 C ++ 클래스의 보호 메커니즘입니다. 멤버 변수 / 함수가 공용이면 클래스 내의 어디서나 사용할 수 있습니다 . 멤버 변수 / 함수가 비공개 인 경우 해당 클래스의 멤버 함수 에서만 액세스 할 수 있습니다.

다음을 수행하는 것이 좋습니다. 가능하면 비공개로 사용하세요. 최종 사용자가해서는 안되는 데이터에 액세스하는 것을 원하지 않습니다. 예를 들어 사용자가 카드 게임을 할 수있는 프로그램을 작성하고 있다고 가정 해보십시오. 먼저, 프로그램은 플레이어가 가지고있는 카드를 인쇄합니다. 그런 다음 사용자는 플레이하고 싶은 카드를 입력합니다. 이 경우 어떤 식 으로든 카드를 비공개로하고 싶을 것입니다. 사용자가 카드를 변경하거나 존재하지 않는 카드를 만드는 것을 원하지 않습니다.

개인 멤버 변수 / 함수에 액세스하려면 공용 함수를 사용할 수 있습니다. 예를 들어 int number라는 전용 변수가있는 경우 getNumber ()라는 해당 변수에 액세스하는 공용 멤버 함수를 작성할 수 있습니다. 이렇게하면 번호에 액세스하여 어디서나 사용할 수 있지만 번호가 잘못 사용되는 것에 대해 걱정할 필요가 없습니다.

class Count{

public:

/*numberPub can be used anywhere in the class Count */

int numberPub;

/*This will return our private variable, numberPri. This way, we can return the variable, but we do not have to worry about access, such as a user modifying the value when they shouldn"t. */

int getNumberPri();

private:

/*numberPri cannot be used anywhere in the class Count. If we want to use numberPri in Count, we must use getNumberPri() to access it*/

int numberPri;

};

Answer

C ++ private은 내부적으로 만 사용할 수 있으며 액세스 할 수 없음을 의미합니다. 공용은 클래스 외부에서 액세스 할 수 있음을 의미합니다.

예를 들어 클래스의 인스턴스를 만들면 개인 변수 및 메서드에 직접 액세스 할 수 없으며 그렇게하려고하면 오류가 발생합니다.

class Example

{

private:

int private\_data;

int public\_data;

};

int main(int argc, char* argv[])

{

// create an instance

Example example;

// public variables and methods can be accessed

example.public\_data = 100;

// private variables and methods can only be accessed inside

// the class

// this next line will cause an error

example.private\_data = 1;

return 0;

}

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다