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會自動將...