2010-08-26 41 views
-4

我有以下問題是否有可能在C++中使用以下規則創建頭文件。讓我們把標題在C++中創建頭文件

#include "sum.h" 

在sum.h中我將聲明函數或過程,然後在.cpp文件中使用它?

+9

Wha t? – GManNickG 2010-08-26 07:53:59

+2

錯誤......「大於」符號是錯字,不是? (如果我理解你的問題,那麼答案是肯定的)。 – Raveline 2010-08-26 07:54:15

+0

是的。是否有其他理由包含頭文件? – Muxecoid 2010-08-26 07:56:09

回答

5

據我所知,你想要在頭文件中聲明函數,然後在某處包含頭文件並使用它。這是標題的正常使用。 (你應該get a book,這解釋了這一點,因爲網上報廢信息不會讓你成爲一個非常好的知識庫。)

你可以通過兩種方式去解決它。聲明函數的頭,然後在一些翻譯單元定義它們,並與翻譯單元鏈接:

// sum.h 
int do_sum(int x, int y); // declare 

// sum.cpp 
#include "sum.h" // get declarations (strictly not needed) 

int do_sum(int x, int y) // define 
{ 
    return x + y; 
} 

另一種方法是使用inline避免了單次定義規則(ODR),並定義功能標題:

inline int do_sum(int x, int y) // define 
{ 
    return x + y; 
} 

沒有inline,你會得到一個錯誤的具有功能的多個定義。

+6

比你的「什麼?」更慷慨的回答。上面,但不是很有趣:-)。 – 2010-08-26 07:59:44