c 裡,為什麼在標頭檔案h裡不能定義函式,在標頭檔案的類裡面卻

2021-04-21 01:32:38 字數 3118 閱讀 5926

1樓:

在main那裡要#include "linklist.h"而不是cpp。然後你使用的是類别範本,所以需要指定模板的型別: linklist a(r, 5); 這樣建立物件

c++在標頭檔案中宣告一個類,但是在主函式定義該類的變數時卻出錯了。怎麼回事? 20

2樓:匿名使用者

因為實現和使用在一個檔案中,這裡不允許用值引用(防止迴圈定義),可以用指標代替。

寫成 clock *b = new clock();

3樓:匿名使用者

你確定標頭檔案名稱沒有錯誤嗎? 另外 main函式沒有return

如何在c++標頭檔案中定義函式,然後在原始檔中使用

4樓:大野瘦子

/*在text。h標頭檔案中進行宣告*/

#include

using namespace std;

void display(int,int);/*使用該函式來實現輸出*/

/*在texxt。cpp中進行定義,注意第一行,很重要因為不是c++標準庫中的標頭檔案,所以不能用<>,而要用""括起標頭檔案*/

#include "text.h"

void display(int x,int y)/*在主函式中進行呼叫函式*/

#include "text.h"

int main()

5樓:匿名使用者

一般為了安全性,只在標頭檔案中進行宣告,而不定義,在其它檔案中進行定義。給你個例子。因為我學了才一年,所以沒法給你說過多的理論,給你兩個例子你好好體會把。

簡單例子實現輸出兩個資料。

/*在text。h標頭檔案中進行宣告*/

#include

using namespace std;

void display(int,int);/*使用該函式來實現輸出*/

/*在texxt。cpp中進行定義,注意第一行,很重要因為不是c++標準庫中的標頭檔案,所以不能用<>,而要用""括起標頭檔案*/

#include "text.h"

void display(int x,int y)

下面這個例子實現類的標頭檔案中宣告,實現2*3矩陣的加法運算,並進行過載輸入輸出流。

在/*matrix。h中宣告*/

#include

class matrix

;/*在matrix。cpp中進行定義*/

#include "matrix.h"

return x;

}istream& operator>>(istream& w,matrix& y)

return w;

}ostream& operator <<(ostream & x,matrix& z)

6樓:匿名使用者

可以在原始檔中新增另一個原始檔嗎?好像只能新增標頭檔案哦,在c++中。你要程式執行正確,就要建一個標頭檔案,然後在標頭檔案中宣告函式,當然函式體的定義一般建義是在另一個原始檔中定義,在另一個原始檔中定義標頭檔案中宣告的函式時應使用#include語句把標頭檔案包含進來才行。

然後你在在主程式中的原始檔中使用#include把標頭檔案包含進來就沒錯了,下面舉個例子給你看下。

//標頭檔案hyong.h的內容如下

#ifndef hy //一般在標頭檔案都都使用這種格式以防止標頭檔案在同一檔案中被包含兩次。語名#ifndef hyong…..#endi表示僅當以前沒有使用前處理器編譯指令#define定義的名稱hyong時才處理#ifndef….

#endif之間的語句。

#define hy //在這裡用define定義一個名字hy,以便在下次訪問到該標頭檔案時,使該名字已經被定義,從而讓程式跳過#ifndef….#endif間的語句。

void g(); //在標頭檔案中宣告一個函式g();

#endif

//定義標頭檔案中宣告的函式的原始檔hyong.cpp的內容如下

#include "stdafx.h" //注意:在vc++中所有的原始檔中都要包含這條語句。

#include "hyong.h" //將標頭檔案hyong.h包含進來,這裡使用雙引號,而不是引號,以便能更快地檢查到該標頭檔案中定義的名字

#include

using namespace std;

void g() //定義標頭檔案hyong.h中宣告的函式g()

//主程式原始檔ff.cpp的內容如下

#include "stdafx.h"

#include

#include "hyong.h" //注意,主程式和hyong.cpp的檔案中都包含了這個標頭檔案。

using namespace std;

int main()

7樓:

在標頭檔案(如test.h)中定義函式,在同名原始檔(如test.cpp)中寫函式的實現,再寫增加一個主函式原始檔main.

cpp,同名原始檔與主函式原始檔中包含標頭檔案,標頭檔案中加入巨集定義:

#ifndef test_h__

#define test_h__

#endif //test_h__

c++在標頭檔案中定義了一個類。宣告瞭成員函式。在另一個cpp檔案中定義了這些成員函式。

8樓:匿名使用者

設檔案class.h

class.cpp(第一行copy #include "class.h" )

main.cpp (第一行 #include "class.h" )在 main 中使用 這個類的時候並不需要 使用 class.

cpp 檔案裡的定義,而實際是在使用 class.h 裡的宣告。不信的話你在 class.

cpp 裡面加一個新類 teacher 的定義,但在 class.h 裡不宣告,然後你看看在main.cpp 裡能不能用 teacher 類。

9樓:匿名使用者

原始檔內容如下:#include"myclass.h",就在這裡知道的。編譯器會將myclass.h的內容並和這個原始檔的內容一起編譯

C語言中,自定義的兩個標頭檔案裡同事包含了同樣的巨集定義和同樣的

ifdef maxsize else define maxsize typedef struct tdate list endif ifdef maxsize else define maxsize typedef struct tdate list endif include include ht...

為什麼呼叫c庫中庫檔案要有標頭檔案,而呼叫自己寫的靜態庫和動態庫就不需要包含匯出檔案的標頭檔案

什麼時候需要標頭檔案,是這樣的 編譯程式如果遇到一個函式呼叫,那麼它就要查這個函式是否給出了呼叫的格式,假設這個函式是在呼叫程式前面寫出的,那麼經過編譯程式的編譯,編譯程式已經知道了函式呼叫規則格式,就不需要再說明了,比如 由於fun函式體寫在main函式之前,無需說明即可呼叫 void fun i...

為什麼正月裡不能剃頭,為什麼在正月裡不能剃頭?

正月裡不能剪髮其實這個個誤傳,很多地方說正月裡不能理髮,會死舅舅,其實真正的是 思舅 屬於民俗 正月裡剪頭方舅舅 會影響舅舅的運氣 這是一種迷信的想法。因為頭髮的發同發財的發。so.是你的家人不想讓新的一年裡不發財。只是本人的看法,so.你可以信也可以不信。一種說法是頭髮會長白頭髮 因為理髮店很貴。...