작은 걸음 VIII — 여러 파일로 프로그램 만들기
함수의 소개장을 만들기
선언은 헤더에, 정의는 소스 파일에 둡니다.
소개를 한 곳에 모으기
앞 수업에서는 main.cpp에 함수 선언을 직접 썼습니다. 여러 파일에서 같은 함수를 쓸 때는 선언을 헤더에 모아 두면 편합니다.
왼쪽 빈 공간을 우클릭해 New Header File…로 greeting.h를 만드세요. 처음 들어 있는 #pragma once는 그대로 둡니다.
greeting.h
#pragma once
void say_hello();
greeting.cpp
#include "greeting.h"
void say_hello()
{
print("Hello from another file!");
}
main.cpp
#include "greeting.h"
void small_main()
{
say_hello();
}
#include "greeting.h"는 이 헤더의 내용을 현재 파일에서 읽게 합니다. 같은 폴더의 헤더 이름은 큰따옴표로 감쌉니다. 함수 내용은 greeting.cpp 한 곳에만 있습니다. 그 파일도 자기 헤더를 포함해 선언과 정의가 맞는지 확인합니다.
#pragma once는 한 소스 파일을 컴파일할 때 헤더 내용이 중복으로 들어오는 것을 막습니다. C++ 표준 기능은 아니지만 Small C++의 컴파일러가 지원합니다. 다른 표준적인 방법인 include guard는 나중에 배워도 됩니다.
한 파일에서 다시 확인하기

아래는 같은 동작을 한 파일로 모은 코드입니다. Try This Code는 이 한 파일을 엽니다. 프로젝트의 세 파일을 자동으로 만들지는 않습니다.
예제 · example.cpp
void say_hello()
{
print("Hello from another file!");
}
void small_main()
{
say_hello();
}
연습 — 직접 확인하기
한 파일 연습에서 say_hello를 두 번 호출하세요. 그 다음 프로젝트에서도 main.cpp만 바꿔 같은 결과를 만들어 보세요.
연습 문제 코드 · exercise_starter.cpp
void say_hello()
{
print("Hello from another file!");
}
void small_main()
{
say_hello();
}
Hint
위에서 설명한 메뉴를 이용하세요. 아래 코드는 한 파일 연습의 답안입니다. 프로젝트에서는 해당 역할의 파일에 같은 변경을 적용하세요.
풀이 보기
void say_hello()
{
print("Hello from another file!");
}
void small_main()
{
say_hello();
say_hello();
}