我是C++的新手,很難理解獲得創建和編譯的類對象文件的步驟。C++什麼時候編譯類對象文件?
比方說,我創建3個文件:1.類的頭文件2.類CPP文件(成員函數定義本)3.主要CPP文件
/* 當運行主CPP文件,其中包含的類頭文件(比如說「#include class.h」),類cpp文件何時被編譯,目標文件是否已創建並鏈接?
我有困難的原因是,從編譯器的角度來看,當它看到主cpp文件時,只有頭定義,沒有成員函數定義。但是,即使在類頭文件中,也沒有包含類cpp文件。如果編譯器在類頭文件和主cpp文件中沒有引用時,它如何知道運行類cpp文件? */
讓我澄清我的問題。 //也許我說了一些我甚至不理解的東西哈哈。
所以,基本上我試圖在說'main.cpp'文件中運行主函數。這個'main.cpp'文件包含'class.h'頭文件(包括「class.h」)。當'class.h'中沒有聲明成員函數時,編譯器如何執行頭文件中定義的函數?我所有的成員函數聲明都在'class.cpp'中,它不包含在'class.h'或'main.cpp'中。
在C++中沒有像「類對象文件」AFAIK這樣的東西,至少不是特別的。另外,你不「運行cpp文件」。爲了理解你的問題,你如何用兩個「cpp」文件編譯一個項目?因爲它們都是相同的,所以如果有類,並不重要,你可以有一個只有一個函數定義的'cpp'。 – luk32 2015-03-02 08:56:39
@ luk32例如:Rectangle.h包含在Rectangle.cpp中,編譯Rectangle.cpp並創建Rectangle.obj。我認爲這是OP所指的「類對象文件」。 – 2015-03-02 09:00:17
@GrinNare更新(編輯)你的問題添加該評論,並刪除該評論。 – 2015-03-02 09:03:58