包含.h 和.cpp 檔案:了解差異
在C 開發中,將其他檔案合併到原始程式碼中至關重要。但是,包含頭檔 (.h) 和實作檔 (.cpp) 需要一些了解。
考慮以下程式碼:
main.cpp #include <iostream> #include "foop.h" // Including the header file int main() { int x = 42; std::cout << x << std::endl; std::cout << foo(x) << std::endl; return 0; }
foop.h #ifndef FOOP_H #define FOOP_H int foo(int a); // Declaring the function prototype #endif
foop.cpp #include "foop.h" // Including the header file, just for safety int foo(int a) { return ++a; }
此程式碼成功編譯,因為我們在main.cpp 和main.cpp 中都包含了頭檔(「foop. h”) foop.cpp。
為什麼不包含 .cpp 檔案?
現在,讓我們看看如果我們替換「#include "foop.h"」行會發生什麼main.cpp 與"#include "foop.cpp":
main.cpp #include <iostream> #include "foop.cpp" // Including the implementation file
這將導致編譯器錯誤。 main.cpp 中,一次在foop.cpp 中,這種重複會使編譯器感到困惑。 ,包含頭檔至關重要(.h) 在主原始檔和使用宣告函數的任何附加來源檔案中應僅包含在一個原始檔中,以避免重複程式碼定義。
以上是為什麼我不能像在 C 中包含 .h 檔案一樣包含 .cpp 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!