서적 정리/C++ 기초 플러스
78.접근제어: protected
민돌이2
2022. 7. 13. 01:13
protected 키워드는 기초 클래스로부터 파생된 클래스 안에서만 사용할 수 있다. 파생 클래스의 멤버들은 기초 클래스의 protected 멤버에 직접 접근할 수 있지만, private 멤버에는 접근할 수 없다. 정리해보면 파생 클래스 밖에서 protected와 private 멤버는 차이가 없지만 파생 클래스 안에서는 기초 클래스의 protected 멤버는 public 멤버와 같다.
public | private | protected | |
파생 클래스 | 접근 가능 | 접근 불가 | 접근 가능 |
클래스 밖 | 접근 가능 | 접근 불가 | 접근 불가 |
class Base
{
public:
int publicNum;
private:
int privateNum;
protected:
int protectedNum;
};
class Derived : public Base
{
public:
void SetNum(int numA, int numB, int numC)
{
publicNum = numA; //문제 없음
privateNum = numB; //문제 있음
protectedNum = numC; //문제 없음
}
};
int main()
{
Derived d;
d.publicNum = 10; //문제 없음
d.privateNum = 20; //문제 있음
d.protectedNum = 30; //문제 있음
system("Pause");
return 0;
}
728x90