배고픈 개발자 이야기
네임스페이스(namespace) 제대로 사용하기, 모듈화 프로그래밍 C/C++ 본문
프로젝트 구조
예제 클래스의 관계도 입니다.
MyClass.h 파일에는 Myclass클래스의 선언(prototype)이 있습니다.
MyClass.cpp 파일에는 클래스의 멤버함수에 대한 정의가 있습니다.
main.cpp에 Myclass 의 선언과 정이가 모두 들어가도 상관없습니다. 하지만 사용하는 클래스가 많아질 수록 main내부는 클래스의 선언과 정의로 복잡해질 것입니다. 그래서 위와 같이 각 클래스를 모듈화하여 분리하여 코드를 작성합니다. 모듈화 프로그램의 기본입니다.
main.cpp에서는 늘 그래왔던 것 처럼 main 함수 윗부분에 클래스에 대한 정의가 있으면 됩니다. 그래서 MyClass.h 파일을 include(인클루드) 하면 됩니다.
아주 간단한 소스를 구성해 보았습니다.
네임스페이스를 선언하는 방식은 namespace 이름 { } 인데, 선언 구역이 클래스의 선언부분과 클래스의 멤버함수의 정의 구역 두군데가 모두 선언이 되어야 합니다. 왜냐면 MyClass.h를 MyClass.cpp에서 include를 하더라도 네임스페이스 공간이 다르게 되면 사용할 수 없기 때문입니다. 선언과 정의가 기본적으로 같은 공간 내에서 되어야 하기 때문이죠. 이 부분만 주의 해 주시면 됩니다.
그리고 위 파일을 컴파일 하는 방법은 G++ 기준으로 알려드리겠습니다.
명령어 : G++ -o main.exe -g MyClass.cpp main.cpp
2014/01/24 - [프로그래밍/C언어] - 분할컴파일 하는법(gcc) c언어
통함 개발툴을 사용한다면 쉽게 할 수 있지만, 기본적인 컴파일 방법도 익혀두셔야 합니다.
'언어 > C언어, C++언어' 카테고리의 다른 글
[리눅스] 시스템 서비스 등록하기 (0) | 2020.03.05 |
---|---|
개발자가 알아야할 10가지 보안팁으로 코드 보호하기 (0) | 2019.09.30 |
Modern C++의 장/단점 (1) | 2019.09.20 |
Template 이란? (C/C++) (0) | 2019.09.20 |
C/C++ 최적화 기법 (1) | 2019.09.18 |