C 언어 개열/C++

클래스 선언과 클래스 구현

본클라쓰 2010. 8. 25. 22:17

 

C언어의 특성 상 컴파일 하기 전에 전처리기 과정을 거친다. 따라서 선언과 구현하는 부분을 분리하여 따로 파일로 작성할 수 있다. 선언하는 파일을 헤더파일이라고 하며, 헤더파일의 확장자는 .h를 가진다. 구현을 담당하는 파일을 소스파일이라고 하며 .cpp 확장자를 가진다. 헤더 파일에 클래스의 구현을 작성해도 무방하지만, 클래스의 사용을 하기 위한 코드는 소스 파일에 작성해야 한다.

 

 

1. 헤더파일 (클래스선언, 클래스명.h)

class Person {

public:
    int age;
    char name[10];
    int money;

 

    void plus(Person &person, int money);

    void minus(Person &person, int money);

 

};

 

2. 소스파일 (클래스구현, 클래스명.cpp)

#include <iostream>
#include "Example.h"

 

using std::cout;
using std::endl;

 

void Person::plus(Person &person, int money){

    person.money += money;
}


void Person::minus(Person &person, int money){
    person.money -= money;
}

 

C는 컴파일을 하기 전에 헤더파일과 소스파일을 하나로 묶는 전처리 과정을 거치기 때문에 전처리 선언 등은 헤더 파일이나 소스 파일 어디에 작성해도 컴파일에 문제가 발생하지 않는다. 개발자 맘대로 작성할 수 있지만, 사용하는 곳에 전처리 선언을 하는 것이 더 좋은 방법이라고 생각한다.