|
forward declaration을 사용하면 됩니다.
class B; //컴파일러는 class B가 있다는 가정하에 class A를 컴파일 함
class A
{
private:
int a;
B b;
};
class B
{
private:
int c;
A d;
};
-locke
exkarion 님이 쓰신 글 :
: 안녕하세요....
:
: 오늘도 이것저것 뒤지다 궁금한게 생겨서 왔습니다.
:
: 클래스 선언에서 말이죠.....
:
: class A
: {
: private:
: int a;
: B b;
: };
:
: class B
: {
: private:
: int c;
: A d;
: };
:
: 대충 간략히 이런식으로 짜면 class B에 정의된 A형 데이터 d는
:
: 정상적으로 선언되는데 class A에서 사용한 B b; 는 아직 선언되지않은
:
: class B를 사용 하였기 때문에 제대로 선언되지 않습니다.
:
: class A 앞에 class B 가 선언될 것이라고 알려주는 방법이 있는걸로 알고
:
: 있는데 기억이 안나네요.....^^;;;
:
: 좋은 조언 부탁드립니다.
|