본문 바로가기
c++

16. 클래스정의와 구현 분리,솔루션 탐색기,헤더파일 cpp파일 만들기

by 래끼 2020. 1. 10.
728x90
반응형

이전 포스팅에서는 클래스의 정의와 구현을 한 프로그램으로 만들었는데요.

C++ 에서는 클래스의 정의와 구현을 분리 할 수 있습니다.

 

클래스정의는 클래스의 규약상황을 기술하는 것이고 클래스 구현은 그 규약을 실현하는 것이라고 볼 수 있는데요.

 

클래스 정의 파일의 확장자는 .h(헤더를 의미)이고, 클래스 구현파일의 확장자는 .cpp입니다

 

 

 

 

클래스 정의와 구현 분리

 

 

먼저 클래스의 정의와 구현 분리하지 않은 Circle클래스는 아래와 같습니다.

 

 

 

 

위의 Circle 클래스의 정의와 구현을 분리해보면

 

클래스 정의 파일 / h(헤더)파일

 

클래스 정의 파일에는 이렇게 단순히 데이터필드생성자 원형,함수원형을 목록으로 만들어줍니다.

첫째줄의 #pragma once는 자동적으로 입력되어있는데요.

헤더 화일을 중복 컴파일이 되지 않도록 선행처리하는 역할을 한다고 합니다.

참고하세요 : )

 

 

클래스 구현 파일 / cpp 파일

 

클래스 구현 파일에는 생성자와 함수를 만듭니다.

1번 줄에 #include “Circle.h”를 입력해줍니다.

4,10,17번째 줄처럼 Circle:: 은 생성자와 함수가 Circle클래스에 정의되어 있다는 것을 컴파일러에게 알려주는 역할을 합니다.

* :: 기호는 이항 범위 지정 연산자 라고 합니다. 참고하세요 : )

 

ㅡmain 프로그램

마지막으로 main프로그램입니다.

main프로그램에서도 2번째 줄처럼 #include“Circle.h”을 추가해주어야합니다.

 

출력해보면 결과는 이렇게 나옵니다~

 

 

 

 

 

헤더파일과 cpp파일을 만드는 법

 

왼쪽 상단에 보기(v) -> 솔루션탐색기(p)

클래스 정의 파일과 구현 파일을 만들기 위해 먼저 솔루션탐색기를 열어줍니다.

 

그러면 이렇게 솔루션 탐색기가 열려요~

 

 

 

1. 클래스 정의 파일 만들기 (h 파일)

 

솔루션 탐색기가 열렸다면

우측에 헤더파일 -> 추가(D) -> 새항목(w) 순서로 선택해주세요.

 

그러면 창 하나가 떠요!

그 상태에서 헤더파일(.h)를 선택해주고 파일이름을 설정해줍니다.

저는 Circle.h로 이름을 지었어요. (파일이름은 대문자로 시작하도록 하는 걸 추천합니다.)

이름을 정했다면 오른쪽하단에 추가(A)를 클릭해주세요.

그러면 클래스 정의파일(헤더파일) 만들기는 끝!

 

 

 

2. 클래스의 구현파일 만들기(cpp 파일)

구현파일은 소스파일 -> 추가(D) -> 새항목(W) 순서로 클릭해주세요.

(아까 정의 파일은 '헤더파일'이었죠, 구현파일은 '소스파일' 입니다. 햇갈리지 않도록 조심!)

 

이렇게 창이 하나뜹니다.

C++파일(.cpp) -> 파일 이름 설정 -> 추가(A)

순서대로 클릭해주세요.

파일이름은 파일이름.cpp로 지어주시고 첫글자는 대문자로 해주세요. (ex. Circle.cpp )

728x90
반응형

댓글