대부분 선언과 정의를 분리해서 사용함
선언은 header file - 확장자가~.h, (~.hpp)
정의는 source file - ~.c, ~.cpp
a.h
void f();
b.h
#include "a.h"
void g();
c.h
#include "c.h"
void h();
__________________________
main.cpp
# include "a.h"
void f();
# include "b.h"
void f():
void g();
#include "c.h"
...
문제는 중복됨 여러번 다른 cpp파일에 중복되기 쉬움
#pragma once : 선언이 한번만 나오도록 보장하는 것
____
#pragma once
a.h
void f();
b.h
#include "a.h"
void g();
c.h
#include "c.h"
void h();
_____________________
main.cpp
#include "a.h"
void f();
#include "b.h"
void g();
#include "c.h"
void h();
중복방지