class A
{
public:
class AInner
{
public:
int Data;
};
public:
A()
{
}
~A()
{
}
};
int main()
{
A::AIner InnerNew = A::AInner();
}
이너클래스의 사용법은 위와 같고 클래스 내부에 그 클래스의 이름을 종속 받는
다른 클래스를 만들어 내는것이다.
namespace AInner
{
class AInner
{
public:
int Data;
};
}
개념적으로 보면 네임스페이스와 비슷하다.
이너클래스는 그냥 클래스를 하나 새롭게 만드는것이고
동작역시 기존 클래스와 똑같이 동작한다.
다만 사용할때 A::을 붙여줘야 한다.
그럼 네임스페이스와 다른점은 무엇일까?
그건 접근제한 지정자를 가지고 있다는 것이다.
class A
{
private:
class AInner
{
public:
int Data;
};
이렇게 private를 변경해주면 외부에서 사용이 불가능해진다.
이 클래스는 A클래스 내부에서만 사용하겠다가 되는것이다.
'C++' 카테고리의 다른 글
Friend 문법 (0) | 2021.01.06 |
---|---|
재귀함수,꼬리재귀함수,스택 오버 플로우(Stack overflow) (0) | 2021.01.05 |
동적 메모리 할당과 해제,댕글링 포인터,vector의 내부동작 (0) | 2020.12.31 |
Pure Virtual Function(순수 가상 함수) (0) | 2020.12.31 |
가상함수 추가설명 (0) | 2020.12.31 |