A 클래스가 a.h라는 헤더파일에 있고, B 클래스가 b.h라는 헤더파일에 있는데
A에서도 B를 사용하고, B에서도 A를 사용할 때..
서로 #include를 둘 다 해서 헤더 꼬임 현상이 발생하면 무한 루프에 빠지게 되는데, (컴파일 속도도 저하됨)
이 때 전방 선언 사용!
전방 선언 사용법
한 파일(ex. "b.h")에서 #include "a.h"
대신,class A;
라고 선언!
cf. 참고
[c++] 클래스 전방 선언(Forward declarations)와 상호 참조 헤더 파일
class A 가 a.h에 있고 class B 가 b.h 에 있는데 B가 A를 사용하고 A가 B를 사용할 경우 : 거의 설계가 잘 못되었다고 볼 수 있다. 이렇게 프로그램을 짜면 이해하기가 힘들고 추적이 힘들기 때문에 경험
jrabbit.tistory.com
'[ 언어 및 문법 ] > C, C++' 카테고리의 다른 글
[C++, OpenCV] Convert Arr2Mat, Mat2Arr / 16bit(short) to 8bit(unsigned char) / CV_type (0) | 2022.08.14 |
---|---|
[C++] 2차원 배열 동적 할당, 해제, 초기화 (0) | 2022.08.14 |
[C++] 정적 변수(Static) vs 전역 변수(Global) , const (0) | 2022.08.14 |
[C++] 포인터, 주소연산자(&), 배열, 동적할당, 자료형 + vs 참조형 변수(&) (0) | 2022.08.13 |
[C++] string 클래스와 문자열 입출력 (cin, getlline(), c_str(), atoi()) (0) | 2022.08.13 |