2012-04-05 488 views
0

我想知道如果我可以在.h文件中定義和聲明方法/函數以及是否可以在測試文件(.cpp文件)中調用它們,或者我只需要在.h文件中聲明並在separte .cpp文件中聲明。在C++ .h文件中定義和聲明函數/方法

感謝 我編碼在C++

+1

http://mattgemmell.com/2008/12/08/what-have-you-tried/ – 2012-04-05 10:19:05

回答

2

可以聲明,並在報頭所定義的功能,但沒有使他們inline可能會給你鏈接errors.The one definition rule定義它們很容易被破解,除非功能在後一種情況下是inline

除非,你真的知道你在做什麼,最好在頭文件中聲明函數並在cpp文件中定義它們。

+0

:如果我有一個函數作爲 INT的DateFormat(結構TM * TM) { .... return atoi(date.c_str()); } 我可以在頭文件中聲明,但要傳入什麼參數 – gandhigcpp 2012-04-05 10:23:16

+0

你可以在頭文件中聲明它,將頭文件包含在你想調用函數的cpp文件中。聲明一個函數,定義一個函數體和實際調用一個函數是三個不同的里程碑。你真的需要一本[好書](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-和列表)。 – 2012-04-05 10:34:31

+0

:如果在該函數定義中我有幾個變量,如果我按照你說的定義在cpp文件中,我應該在哪裏給出聲明變量 – gandhigcpp 2012-04-05 10:36:42

相關問題