c 中 cpp檔案與 h檔案有什麼不同。詳解與舉例怎麼使用

時間 2021-08-11 17:35:05

1樓:小舅舅有點帥

以.h位字尾的是標頭檔案,.cpp是原始檔,一般都是在一個專案中。

如果是初學c++的話,使用原始檔(也就是.cpp)就足夠編寫出需要的源程式了。如書本上最基本的「hello world」編碼,只要在原始檔中有一個主函式就可以完成一個程式。

在稍微複雜一點的程式中,也許就會用到標頭檔案(.h)。事實上,這種標頭檔案和**中預處理裡包含的標頭檔案沒有什麼區別(就好像c語言中#include )其中stdio.

h就是一個標頭檔案。

編寫標頭檔案就是按照自己的需要,給程式設計這樣的標頭檔案。標頭檔案中,一般包含一些類的宣告,函式定義之類的東西,方便在原始檔的主函式中使用。

例如在a.h檔案中:

#include

using namespace std;

class try

public:

void do();

}接下來,只要在原始檔b.cpp中的預處理命令裡寫成:

#include

#include "a.h" (也就是在這裡加上#include "a.h"這一句)

using namespace std;

.....

就可以在b.cpp的**中宣告和呼叫try型別的物件了。

擴充套件資料

c++程式裡使用多個cpp和h檔案:

建立一個工程,裡面有三個檔案hello.hpp、hello.cpp、main.cpp

// hello.hpp

#ifndef hello_hpp

#define hello_hpp

class hello

public:

void show() const;

#endif

// hello.cpp

#include "hello.hpp"

#include

using std::cout;

using std::endl;

void hello::show() const

cout << "hello world" << endl;

// main.cpp

#include "hello.hpp"

int main()

hello hello;

hello.show();

return 0;

2樓:匿名使用者

.h檔案是宣告檔案,可以放類定義及宣告:

#ifndef _event_h_

#define _event_h_

#pragma once

#include

using std::string;

class event

;#endif

.cpp檔案是實現檔案,可以放類的定義:

#include "event.h"

#include

using std::string;

event::event(void)

event::~event(void)

void event::initevent(int time,string address,string contents)

......

3樓:

.h檔案時標頭檔案,放的是對類的宣告什麼的

.cpp檔案時原始檔,放的是對類的定義什麼的

所以.cpp檔案要加include相應的.h標頭檔案

4樓:匿名使用者

.h的檔案一般只包含函式宣告,類定義。.cpp的檔案包含函式的定義。一般情況下一個.cpp的檔案應該包含一個同名的.h檔案

5樓:羅紹川

cpp檔案是你寫呼叫的函式,h檔案是你定義的標頭檔案的地方。。。

6樓:匿名使用者

一個是標頭檔案,放類宣告的;一個是原始檔的,放**的

7樓:雙峪

c語言中.cpp與.h是如何連線的?

8樓:流年轉歲月換

*.h是標頭檔案,一般放函式的宣告

*.cpp是原始檔,一般放函式的定義(即功能實現)。

*.h檔案就像是一個介面,具體的實現可以在*.cpp中也可以在*.h中。

在寫程式的時候,如果要用到某個標頭檔案就要包含這個標頭檔案。

系統自帶的標頭檔案用:#include或者#include沒有.h的是c++標準標頭檔案,有.h的是為了更好的相容c才用的。

自己寫的標頭檔案用:#include"a.h"(這裡必須用「」雙引號)。

一般如果只有一個cpp檔案,可以不謝函式宣告的.h檔案,直接把函式宣告放在cpp中。

9樓:金色潛鳥

.h 和 .cpp 不是 連線/連結 關係,而是包含關係。

也就是說,在預編譯期間,編譯器把 .h 的文字內容,原原本本 插入.cpp 檔案中,插入位置就在 #include 這句 巨集命令處。文字內容 插入完畢,再編譯 .cpp

系統的 .h 放在 系統資料夾們 裡。系統資料夾路徑 定義在環境變數 include 裡。

自定義 .h 可以放在當前資料夾,也可別的資料夾。若在別的資料夾,寫 #include 時可以把路徑加在.h 檔名前。

10樓:lucien神

.c或者.cpp是原始檔 就是你寫源**的地方 一般.

h是用來作為宣告、呼叫使用 在.cpp的最開頭用#include "***.h"就可以 一般放在同一個資料夾內 另外.

h裡面會在開頭結尾寫

#ifndef _***_h_

#define _***_h_

#endif

防止重複包含

c中如何包含cpp檔案,C 如何在一個cpp檔案中引用另外一個cpp檔案中的類物件

tn瓶邪 h是 標頭檔案 cpp 是原始檔 c 中。通常 將struct class define typedef function 等的定義放到標頭檔案中,而將 成員宣告 和 function實現 類實現 放入cpp中。h和cpp中同時可以使用include包含標頭檔案,但是通常有個習慣,就是儘量...

c語言檔案中rb和r有什麼區別,C語言檔案中,“rb”和“r”有什麼區別?

一 作用不同 1 rb 代表二進位制檔案,用來讀寫二進位制檔案。二 特點不同 1 rb 檔案編碼是變長的,靈活利用率要高,而譯碼要難一些,不同的二進位制檔案譯碼方式是不同的。2 r 是一種典型的順序檔案,其檔案的邏輯結構又屬於流式檔案。三 優劣不同 1 rb 二進位制檔案比較節約空間,這兩者儲存字元...

如何在VS2019中建立不帶h的c 標頭檔案

無所謂字尾的,可以直接在標頭檔案資料夾裡面新增新的標頭檔案,如果不想要字尾,直接重新命名把.h去掉。在包含這個標頭檔案的時候,還是一樣包含標頭檔案的全名。編譯器會直接將檔案當成是標頭檔案處理。建議不要這樣使用 1 標頭檔案都是以.h結尾的,你可以在建立的時候選擇標頭檔案,你填寫完檔名後,vs會自動將...