Вы указываете компилятору, какие файлы C ++ компилировать. #include
не имеет к этому никакого отношения.
Например, если вы используете 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
Если вы используете Visual Studio и создали проект, все создаваемые вами файлы C ++ будут автоматически скомпилированы.
Если вы не используете ни того, ни другого, назовите имя вашего компилятора, и я могу сказать вам точный синтаксис:)
Теперь по другому вопросу:
Также, если header.cpp включает
iostream, почему я не могу использовать iostream
вызовы функций в text.cpp, если это
включено? Если я включу Iostream в
text.cpp будет ли он включен в
запрограммировать дважды (другими словами, раздувать
это)?
#include
говорит компилятору просто «скопировать все содержимое включаемого вами файла и вставить его туда, где находится строка #include». Таким образом, теоретически вы можете просто открыть iostream
с помощью блокнота, выбрать все, Ctrl-C и Ctrl-V его в вашем файле .cpp, и конечный эффект будет точно такой же =)
Так что да, он должен быть включен для каждого файла .cpp, в котором вы хотите его использовать, и он не «раздувает» вашу программу: он содержит только определения классов, внешние функции и т. Д.
Да, и это само собой разумеется, но C ++ - очень обширный и сложный язык программирования, вам гораздо больше повезет, изучая его через книгу, чем через руководство. Если вы не хотите тратить деньги, хорошо бесплатная (загружаемая) книга C ++ - Thinking in C ++, Брюс Экель . В противном случае, если вы хотите купить, вы можете найти хороший список здесь .