본문 바로가기

Programming/C/C++

C++/헤더 파일과 cpp 파일로 분리 예시

반응형


분리 전 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
using namespace std;
 
class Adder {
    int op1, op2;
public:
    Adder(int a, int b);
    int process();
};
 
Adder::Adder(int a, int b) {
    op1 = a; op2 = b;
}
 
int Adder::process() {
    return op1 + op2;
}
 
class Calculator {
public:
    void run();
};
 
void Calculator::run() {
    cout << "두 개의 수를 입력하세요>>";
    int a, b;
    cin >> a >> b;
    Adder adder(a, b);
    cout << adder.process();
}
 
int main() {
    Calculator calc;
    calc.run();
}
cs


분리 후 프로젝트 상 파일


Adder.h - 선언부

1
2
3
4
5
6
7
8
9
10
11
#ifndef ADDER_H
#define ADDER_H
class Adder {
    int op1, op2;
public:
    Adder(int a, int b);
    int process();
};
 
#endif
 
cs


Calculator.h - 선언부

1
2
3
4
5
6
7
8
#ifndef CALCULATOR_H
#define CALCULATOR_H
class Calculator {
public:
    void run();
};
 
#endif
cs


Adder.cpp - 구현부

1
2
3
4
5
6
7
8
9
10
#include "Adder.h"
 
Adder::Adder(int a, int b) {
    op1 = a; op2 = b;
}
 
int Adder::process() {
    return op1 + op2;
}
 
cs


Calculator.cpp - 구현부

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include "Adder.h"
#include "Calculator.h"
using namespace std;
 
 
void Calculator::run() {
    cout << "두 개의 수를 입력하세요>>";
    int a, b;
    cin >> a >> b;
    Adder adder(a, b);
    cout << adder.process();
}
cs


main.cpp - main()

1
2
3
4
5
6
#include "Calculator.h"
 
int main() {
    Calculator calc;
    calc.run();
}
cs


반응형

'Programming > C/C++' 카테고리의 다른 글

C++/객체 배열  (0) 2017.10.23
C++/객체 포인터  (0) 2017.10.23
C++/C++ 프로그램 작성법  (0) 2017.10.23
C++/C++ 구조체  (0) 2017.10.23
C++/인라인 함수  (0) 2017.10.23