검색결과 리스트
상호참조에 해당되는 글 1건
- 2008.02.20 상호 참조 4
글
C++로 프로그래밍을 작성 하다 보면은 심심치 않게 상호참조가 일어납니다.
예) 1. A와 B라는 클래스가 있습니다.
2. 각 파일은 분리컴파일을 위해서 A.h, A.cpp, B.h, B.cpp 이렇게 선언과 정의를 분리해 있습니다.
3. 각 파일들은 모두 같은 폴더에 위치합니다.
위와 같이 하면은 상호 참조로 인하여 에라!!!!! 가 발생합니다.
이때 해결책은
위와 같이 해주시면 간단하게 해결됩니다.
예) 1. A와 B라는 클래스가 있습니다.
2. 각 파일은 분리컴파일을 위해서 A.h, A.cpp, B.h, B.cpp 이렇게 선언과 정의를 분리해 있습니다.
3. 각 파일들은 모두 같은 폴더에 위치합니다.
//A.h
#include "B.h"
class A {
A();
~A();
B b;
};
//A.cpp
#include "A.h"
A::A() {
}
A::~A() {
}
//B.h
#include "A.h"
class B {
B();
~B();
A a;
};
//B.cpp
#include "B.h"
B::B() {
}
B::~B() {
}
위와 같이 하면은 상호 참조로 인하여 에라!!!!! 가 발생합니다.
이때 해결책은
//A.h
class B;
class A {
A();
~A();
B b;
};
//A.cpp
#include "A.h"
#include "B.h"
A::A() {
}
A::~A() {
}
//B.h
class A;
class B {
B();
~B();
A a;
};
//B.cpp
#include "B.h"
#include "A.h"
B::B() {
}
B::~B() {
}
위와 같이 해주시면 간단하게 해결됩니다.
'C/C++ > VC++ / MFC' 카테고리의 다른 글
[MFC] PreCreateWindow() (1) | 2008.02.20 |
---|---|
[VC++ 6.0] resource 파일 Load Failed 메세지 (0) | 2008.02.20 |
[Visual Studio 2005] warning C4996: 'strcpy'이(가) deprecated로 선언되었습니다. (0) | 2008.02.20 |
오버로딩과 오버라이딩의 차이 (0) | 2008.02.20 |
#pragma comment (0) | 2008.02.20 |
RECENT COMMENT