¿Por qué se necesitan #ifndef y #define en los archivos de cabecera de C++?
¡Hola a todos! Acabo de empezar a aprender C++ y estoy escribiendo mi primer programa que consta de varios archivos. Tengo tres archivos: `main.cpp`, `functions.h` y `functions.cpp`.
Aquí está el contenido de `functions.h`:
```cpp
// functions.h
void printHello();
int add(int a, int b);
```
En `functions.cpp` incluyo este archivo de cabecera y defino las funciones:
```cpp
// functions.cpp
#include "functions.h"
#include
void printHello() {
std::cout << "Hello, world!" << std::endl;
}
int add(int a, int b) {
return a + b;
}
```
Y en `main.cpp` también incluyo `functions.h`:
```cpp
// main.cpp
#include "functions.h"
#include
int main() {
printHello();
std::cout << add(3, 4) << std::endl;
return 0;
}
```
Todo funciona. Pero noté que en proyectos ajenos, al principio de los archivos de cabecera a menudo escriben algo como:
```cpp
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
// ... declaraciones ...
#endif
```
Intenté quitar esas líneas
No answers yet.
Inicia sesión para dejar una respuesta
Blogs