Class 전방 선언

OpenJR·2024년 4월 2일

보통 클래스를 헤더파일(Aclass.h)과 소스파일(Aclass.cpp)로 분리하고, 다른 파일에서 정의한 클래스를 사용하고 싶을 때는, 새로운 헤더파일(Bclass.h)에 만들어 두었던 헤더파일(Aclass.h)을 include하여 사용하였다.

// Bclass.h
#include  'Aclass.h'
// Aclass.cpp
#include  'Aclass.h'
// Bclass.cpp
#include  'Bclass.h'

이렇게 한 경우 컴파일 된다. 아주 잘된다. 당연히 문제가 없기 때문이다.
하.지.만 이 100점 짜리 코드를 120점으로 업그레이드 하기 위해 전방 선언을 할 수도 있다.
만약 Bclass.h에서 선언한 메서드나 멤버 변수가 단순히 Aclass class 처럼 클래스 이름만 사용하는 경우에 include를 하는 것은 매우 비효율적이다.
왜냐하면 include를 하게 되면 컴파일 시 AClass.h 의 모든 내용을 Bclass.h에 복붙하기 때문에 컴파일 시간이 느려지기 때문이다.

profile
Jacob

0개의 댓글