c, c++
[cpp] 헤더파일 / 소스파일 분리
장비 정
2022. 7. 6. 22:09
혼자 cpp 의 namespace 부분을 공부하던 중 헤더파일, 소스파일을 불러오는 방식에 대해 헷갈리는 게 생겨 정리해둔다.
// namespace.h
namespace BestComImpl
{
void SimpleFunc(void);
}
namespace ProComImpl
{
void SimpleFunc(void);
}
다른 namespace 내 같은 이름의 함수들을 선언한다.
// NoMain.cpp
#include <iostream>
#include "namespace.h"
void BestComImpl::SimpleFunc(void)
{
std::cout<<"BestCom Func"<<std::endl;
}
void ProComImpl::SimpleFunc(void)
{
std::cout<<"ProCom Func"<<std::endl;
}
#include 로 앞서 선언한 함수들이 있는 헤더파일을 불러온다.
생성한 헤더파일들은 <> 가 아닌 "" 로 불러오는 것을 주의한다.
// main.cpp
#include <iostream>
#include "namespace.h"
int main(void)
{
BestComImpl::SimpleFunc();
ProComImpl::SimpleFunc();
return 0;
}
각각 함수를 선언했던 헤더파일, 함수를 정의했던 소스파일들을 불러와 main 함수에 작성한다.
함수가 정의 된 소스파일을 따로 불러올 필요 없이 함수가 선언 된 헤더파일만 불러오면 된다.