[C++] 문제 01 - 4 [파일의 분할]
2023. 3. 13. 21:00ㆍChlln's Code/C++
문제 1
C++을 제대로 공부하려면 다음의 내용을 잘 알고 있어야 한다.
- 헤더파일의 의미와 정의 방법
- 헤더파일에 삽입할 내용과 소스파일에 삽입할 내용을 구분하는 방법
- 둘 이상의 헤더파일과 소스파일을 만들어서 하나의 실행파일로 컴파일하는 방법
이와 관련해서 전혀 감이 없다면, C언어 기본서를 참조하여 이 부분을 복습하기 바라며, 감이 좀 있다면, 앞으로 조금씩 그 감을 살려나가기 바란다.
그럼 헤더파일, 그리고 파일분할과 관련된 감을 살리기 위해서 앞서 소개한 예제 NameSp2.cpp를 다음과 같이 총 3개의 파일로 분할해서 컴파일 해보자.
- 헤더파일 : main 함수를 제외한 나머지 두 함수의 선언을 삽입한다.
- 소스파일1 : main 함수를 제외한 나머지 두 함수의 정의를 삽입한다.
- 소스파일2 : main 함수만 삽입한다.
파일의 이름은 여러분이 임의로 정해도 된다.
하지만 각 파일에 들어갈 내용은 위의 지시대로 진행해야 한다.
q01-5-1_header.h
#pragma once
namespace BestComImpl {
void SimpleFunc(void);
}
namespace ProgComImpl {
void SimpleFunc(void);
}
q01-5-1_source.cpp
#include <iostream>
#include "q01-5-1_header.h"
using namespace std;
void BestComImpl::SimpleFunc(void) {
cout << "BestCom이 정의한 함수" << endl;
}
void ProgComImpl::SimpleFunc(void) {
cout << "ProgCom이 정의한 함수" << endl;
}
q01-5-1_main.cpp
#include <iostream>
#include "q01-5-1_header.h"
using namespace std;
int main(void) {
BestComImpl::SimpleFunc();
ProgComImpl::SimpleFunc();
return 0;
}
출력 결과
BestCom이 정의한 함수
ProgCom이 정의한 함수
'Chlln's Code > C++' 카테고리의 다른 글
[C++] 01 - 6 : OOP 단계별 프로젝트 01단계 (2) | 2023.03.13 |
---|---|
[C++] 01 - 5 : 이름공간(namespace)에 대한 소개 (0) | 2023.03.13 |
[C++] 01 - 4 : 인라인(inline) 함수 (0) | 2023.03.13 |
[C++] 문제 01 - 3 [매개변수의 디폴트값] (2) | 2023.03.13 |
[C++] 01 - 3 : 매개변수의 디폴트값(Default Value) (0) | 2023.03.13 |