您告訴您的編譯器要編譯哪些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
,在你的.cpp文件中選擇所有,ctrl-c和ctrl-v,最終效果將完全相同=)
所以是的,它需要是包括你想使用它的每個.cpp文件,它不會「膨脹」你的程序:它只包含類定義,外部函數等。
哦,這不言而喻,但C++是一門非常龐大而困難的編程語言,你將通過一本書而不是一本指南來學習它。如果你不想花任何錢,一個好的免費(可下載的)C++書是Thinking in C++, Bruce Eckel。否則,如果你想買一個,你可以找到一個很好的清單here。
你聽起來不像一個白癡。白癡不求助。 – GManNickG 2010-04-04 04:30:17