C++에서 접근 권한 의 예시 상세 설명
class circle
{
public: //
int m_L;
int m_H;
public: // ( )
double get_Square()
{
return m_L*m_H;
}
}
위의 코드 에서 우 리 는'circle'클래스 를 정 의 했 는데 주로 세 가지 부분 을 포함한다.구성원 변수,구성원 방법 과 접근 제어(public,protect,private).
class circle
{
public:
int public_L;
int public_H;
private:
int private_L;
int private_H;
protected:
int protect_L;
int protect_H;
public: // ( )
circle() //
{
public_L = 20, public_H = 30;
private_L = 40, private_H = 50;
protect_L = 60, protect_L = 70;
}
double get_Square()
{
return private_L*private_H;
}
};
정 의 된"circle"클래스 에서 변수 publicL,public_H 와 getSquare 는 모두 공유 권한 이 있 기 때문에 클래스 내 클래스 외 에 모두 접근 할 수 있 습 니 다.아래 두 가지 쓰기 가 모두 정확 합 니 다.
circle C1; //
double S_1 = C1.get_Square();
double S_2 = C1.public_H * C1.public_L;
하지만 변수 privateL,private_H 는 모두 개인 권한 이기 때문에 클래스 내 에서 접근 할 수 있 습 니 다.즉,getSquare()에 접근 할 수 있 습 니 다.클래스 밖 에 있 는 쓰기 가 잘못 되 었 습 니 다.
int S_3 = C1.private_H * C1.private_L; //Error:
마찬가지 로 보호 권한 의 변수 에 대해 클래스 내 에서 접근 할 수 있 고 클래스 외 에 접근 할 수 없습니다.
int S_3 = C1.private_H * C1.private_L; //Error:
마찬가지 로 상속 방식 도 Public,protect,private 세 가지 가 있다.4.567917.Public:공공 상속,부모 클래스 의 구성원 의 방문 권한 을 유지 하고 하위 클래스 에 계승 합 니 다4.567917.proctected:상속 을 보호 하고 개인 권한 을 제외 하고 아버지 류 의 모든 구성원 은 권한 을 보호 하 는 방식 으로 하위 류 에 계승 합 니 다4.567917.private:사유 상속,아버지 류 의 모든 구성원 은 사유 권한 의 방식 으로 하위 클래스 에 계승 된다.
다음은 하나의 예 를 보 겠 습 니 다.
class son1:public circle{
}; // , circle
class son2:protected circle{
}; // , circle ,
class son3:private circle{
}; // ,
그렇다면 상술 한 분석 을 통 해그래서:
son1 s1;
s1.get_Square(); // public ,
son2 s2;
s2.get_Square(); //Error: ,protected
son3 s3;
s3.get_Square(); //Error: ,private
C++에서 클래스 는 class 로 정의 할 수도 있 고 struct 로 정의 할 수도 있 습 니 다.struct 와 class 의 유일한 차 이 는 기본 접근 권한 이 다 르 기 때 문 입 니 다.struct 는 기본적으로 공공 접근 권한 이 고 Class 는 기본적으로 개인 접근 권한 입 니 다.예 를 들 어:
class a
{
int m_a; //class , private
};
struct b
{
int m_b; //struct , public
};
그래서:
a c_a;
c_a.m_a = 20; // Error:
b s_b;
s_b.m_b = 20; // , public
C++클래스 의 구성원 권한 요약:private:이 클래스 의 구성원 함수,친구 함수 만 접근 할 수 있 으 며,이 클래스 의 대상 에 접근 할 수 없습니다.
protected:private 외 에 도 하위 클래스 의 함수 에 접근 할 수 있 으 며,이러한 대상 에 접근 할 수 없습니다.
Public:proctected 외 에 도 이러한 대상 에 도 접근 할 수 있 습 니 다.
private
protected
public
클래스 함수 와 유원 함수
√
√
√
하위 함수
×
√
√
클래스 의 대상
×
×
√
계승 후 접근 성:
private 상속 후,부모 클래스 의 모든 방법 은 하위 클래스 에서 private 로 변 합 니 다.
protected 계승 후,부모 클래스>=protected 의 모든 방법(protected,Public)은 하위 클래스 에서 protected 로 변 합 니 다.
Public 계승 후 부모 클래스 방법의 속성 은 변 하지 않 습 니 다.
총결산
C++에서 의 접근 권한 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 C++접근 권한 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
hdu 1717 소수 화 점수 2 (수학)소수 화 점수 2 레이 는 수학 시간 에 선생님 의 말씀 을 듣 고 모든 소수 가 점수 로 표시 되 는 형식 이 라 고 말 했다. 그 는 녹 기 시 작 했 고 곧 완성 되 었 다. 그러나 그 는 또 하나의 문 제 를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.