본문 바로가기
C++

헤더, cpp 파일 분리

by asd135 2024. 1. 8.
728x90

코드를 분리하는 이유

코드의 양이 늘어 날 수록 관리해야 할 코드가 그만큼 많아진다. 헤더 파일과 소스 파일로 분리하면 코드의 가독성, 재사용성, 유지보수 등이 편리해진다.

큰 프로젝트에서 특정 소스 파일을 수정 할 경우 수정한 파일만 컴파일하면 되므로 컴파일 시간이 줄어든다.

 

헤더 파일(.h)

클래스, 함수 선언 등이 포함된 파일 

// Cat.h
#pragma once

class Cat {
	int age;
public:
	void getAge();
	void setAge(int age);
};

 

Cat 클래스를 선언하고 Cat.h 저장

 

소스 파일(.cpp)

헤더 파일에서 선언한 것을 정의

// Cat.cpp
#include "Cat.h"
#include <iostream>

void Cat::getAge() {
	std::cout << age;
}
void Cat::setAge(int age) {
	this->age = age;
}

 

전처리기를 통해 소스 파일을 가져온다.

 

메인

#include <iostream>
#include "Cat.h"
int main()
{
    Cat nabi;
    nabi.setAge(5);
    nabi.getAge();
}

 


#include " ", #include < > 차이

#include " ":  컴파일러가 현재 소스 파일이 위치한 디렉토리에서 파일을 찾는다. 만약 찾지 못한다면 시스템 헤더 파일 디렉토리에서 찾는다. 보통 사용자가 만든 헤더 파일은 큰따옴표("")를 이용한다.

 

#include< >컴파일러가 시스템 헤더 파일 디렉토리에서 파일을 찾는다. 표준 라이브러리 헤더 파일(ex: <iostream>) 등을 포함시킬 때 사용하는 방식

'C++' 카테고리의 다른 글

파일 입출력 클래스  (0) 2024.01.09
vector 클래스  (0) 2024.01.02
map 클래스  (0) 2023.12.21
의존관계  (0) 2023.12.16
C++ 프로그래밍 15주차  (0) 2023.12.13