헤더 파일 및 소스 파일
Coddy C++ 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 104개 중 3번째.
C++에서는 코드가 선언을 위한 헤더 파일(.h)과 구현을 위한 소스 파일(.cpp)로 나뉩니다.
헤더 가드가 있는 헤더 파일 (helpers.h)
#ifndef HELPERS_H
#define HELPERS_H
#include <string>
std::string greet(std::string name);
int addNumbers(int a, int b);
#endif구현이 포함된 소스 파일(helpers.cpp)
#include "helpers.h"
std::string greet(std::string name) {
return "Hello, " + name + "!";
}
int addNumbers(int a, int b) {
return a + b;
}main에서 사용하기
#include <iostream>
#include "helpers.h"
int main() {
std::cout << greet("Alice") << std::endl;
std::cout << addNumbers(5, 3) << std::endl;
return 0;
}출력:
Hello, Alice!
8헤더 가드(#ifndef, #define, #endif)는 헤더가 여러 번 포함되는 것을 방지합니다. .h 파일은 존재하는 것(프로토타입)을 선언하고, .cpp 파일은 그것이 작동하는 방식(구현)을 정의합니다.
챌린지
중급헤더 파일과 소스 파일에 나누어 세 개의 helper 함수를 만드세요:
helpers.h: 헤더 가드가 포함된 함수 선언helpers.cpp: 함수 구현
만들 함수:
greet(name):"Hello, <name>!"을 반환ageInTenYears(age):age + 10을 반환checkAdult(name, age): age >= 18이면"<name> is an adult"를, 그렇지 않으면"<name> is a minor"를 반환
직접 해보기
#include <iostream>
#include "helpers.h"
int main() {
std::string name;
int age;
std::getline(std::cin, name);
std::cin >> age;
std::cout << greet(name) << std::endl;
std::cout << "In 10 years you will be " << ageInTenYears(age) << std::endl;
std::cout << checkAdult(name, age) << std::endl;
return 0;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
객체 지향 프로그래밍의 모든 레슨
직접 연습해 보세요: 온라인 C++ 컴파일러