1. forward declaration
#include <iostream>
using namespace std;
int add(int a, int b);
int multiply(int a, int b);
int main()
{
cout << add(1, 2) << endl;
return 0;
}
int add(int a, int b) {
return a + b;
}
int multiply(int a, int b) {
return a * b;
}
2. 헤더파일
헤더파일 사용으로 변경!
training.cpp
#include <iostream>
#include "add.h"
using namespace std;
int main()
{
cout << add(1, 2) << endl;
return 0;
}
add.h
#pragma once
int add(int a, int b);
add.cpp
int add(int a, int b) {
return a + b;
}
3. 헤더가드(#pragma once)
training.cpp
#include <iostream>
#include "my_work.h"
#include "add.h"
using namespace std;
int main()
{
doSomething();
return 0;
}
->add.h가 두번 포함되기 때문에 에러가 난다. 이때, add.h에 헤더가드인 #pragma once를 넣어주면 한번만 정의된다.
my_work.h
//#pragma once
#include "add.h"
void doSomething() {
add(1, 2);
}
add.h
#pragma once
int add(int a, int b) {
std::cout << a + b << std::endl;
return a + b;
}
'코딩 > C++' 카테고리의 다른 글
비트플래그, 비트마스크 (0) | 2024.02.17 |
---|---|
const (0) | 2024.02.17 |
namespace (0) | 2024.02.16 |
모던 C++입문 [1.2 변수] (0) | 2024.02.13 |
1.4 입출력 스트림(cin, cout) / 1.5 함수 / 1.6 키워드와 식별자 이름 (0) | 2024.02.13 |