Le dice a su compilador qué archivos C++ debe compilar. #include
no tiene nada que ver con eso.
Por ejemplo, si está utilizando g ++:
g++ text.cpp // Doesn't compile header.cpp
g++ text.cpp header.cpp // Compiles both
(or, alternatively you can compile one file at a time and then link them)
g++ text.cpp -o text.o
g++ header.cpp -o header.o
g++ text.o header.o -o your-program
Si utiliza Visual Studio y que ha creado un proyecto, todos los archivos de C++ que cree se compilan automáticamente.
Si está utilizando no, dime el nombre de su compilador y te puedo decir la sintaxis exacta :)
Ahora, por su otra pregunta:
Además, si header.cpp incluye iostream, ¿por qué no puedo usar las llamadas a la función iostream en text.cpp si es incluido? Si incluyo iostream en text.cpp, ¿se incluirá en el programa dos veces (en otras palabras, bloat )?
#include
indica al compilador que simplemente "copiar todos los contenidos del archivo va a incluir, y pegarlos en la línea # include es". Entonces, en teoría, simplemente podría abrir iostream
con el bloc de notas, seleccionar todo, ctrl-c y ctrl-v en su archivo .cpp y el efecto final será exactamente el mismo =)
Entonces sí debe ser incluido para cada archivo .cpp en el que desee usarlo, y no "hinchará" su programa: contiene solo definiciones de clase, funciones externas, etc.
Ah, y esto es evidente, pero C++ es un lenguaje de programación muy extenso y difícil, tendrás mucha mejor suerte aprendiéndolo a través de un libro que de una guía. Si no quiere gastar dinero, un buen libro de C++ gratis (descargable) es Thinking in C++, Bruce Eckel. De lo contrario, si desea comprar uno, puede encontrar una buena lista here.
No suena como un imbécil. Un idiota no pide ayuda. – GManNickG