클래스 재사용성을 위해서 헤더와(선언부,구현부) 소스코드를 분리한다
이때 헤더파일의 재정의를 방지하기위해
#ifndef A_H // a.h가 이미 정의되어있지않으면
#define A_H // a.h를 정의하시오
...
#endif //ifndef 종료
처럼 ifndef구문을 사용한다.
//Adder.h
#ifndef ADDER_H //h가 디파인되있지않으면
#define ADDER_H // 디파인
class Adder {
private:
int op1, op2;
public:
Adder(int a, int b);
int process();
};
#endif //ndef분기문 종료
//Adder.cpp
#include<iostream>
using namespace std;
#include "Adder.h"
Adder::Adder(int a, int b) {
op1 = a; op2 = b;
}
int Adder::process(){
return op1 + op2;
}
//Calculator.h
#ifndef CALCULATOR_H
#define CALCULATOR_H
class Calculator {
public:
void run();
};
#endif
//Calculator.cpp
#include<iostream>
using namespace std;
#include "Calculator.h"
#include "Adder.h"
void Calculator::run() {
cout<< "두 수 입력 >>";
int a,b;
cin>> a >> b;
Adder adder(a,b);
cout<< adder.process();
}
//main.cpp
#include<iostream>
using namespace std;
//#include "Adder.h"
#include "Calculator.h"
int main(){
Calculator calc;
calc.run();
return 0;
}
'소프트웨어 > C/C++' 카테고리의 다른 글
c] 문자열에서 char 찾기. strchr (0) | 2014.04.06 |
---|---|
c/c++] CPP에서 strtok사용하기_ string객체를 char*로 변환 (0) | 2013.10.18 |
c/c++] 객체 배열 동적생성시 메모리반환 (0) | 2013.10.11 |
c++] cpp에서 struct를쓰면 default 접근지정자가 public (0) | 2013.10.04 |
c++] 인라인함수 (0) | 2013.10.04 |
c] 130929 C언어 Basig Training (0) | 2013.09.29 |
c++수업 130927 (0) | 2013.09.27 |