class FightUnit
{
public:
int publicInt;
protected:
int protectedInt;
private:
int privateInt;
public:
void Fight(FightUnit& _Other)
{
}
};
class Player : public FightUnit
{
};
Player가 FightUnit을 상속받을때 부모클래스 앞에다 접근제한지정자를 써줄 수 있고
상속의 개념은 보이지는 않지만 부모의 멤버변수인
publicInt,protectedInt를 멤버변수로 가지고 있는것이다.
이때 상속문법 앞에 붙는 접근제한 지정자는 다음의 의미를 가진다.
부모의 접근제한지정자랑 나의 접근제한지정자랑 비교해서
더 좁은 범위의 제한지정자를 따라가는것이다.
위의 코드로 본다면
publicInt와 public을 비교 = 둘다 public이니 public을 받는다.
protectedInt와 public을 비교 = protected이니 protected를 받는다.
class Player : protected FightUnit
{
};
만약 protected를 써서 상속을 받았다면
publicint와 protected 비교 = protected로 받으니 protected : publicint가 되는것이다.
protected와 protectedInt 비교 = protected로 받는다
'C++' 카테고리의 다른 글
깊은복사,얕은복사 (0) | 2020.12.22 |
---|---|
Is A 관계,Has A 관계 (0) | 2020.12.22 |
방어코드,Assert (0) | 2020.12.19 |
순환참조,Inheritance(상속),업캐스팅 (0) | 2020.12.18 |
DefaultConstructer(기본 생성자) (0) | 2020.12.18 |