關於 h和 cpp檔案

2021-08-17 17:42:30 字數 844 閱讀 3415

.h和.cpp檔案主要實現了對**的分離操作,將**區分開來寫,便於更加方便清楚得去閱讀程式,更加容易理解程式。

1.宣告寫在.h檔案中,定義實現寫在.cpp檔案中;

在c++中,需要在.h標頭檔案中宣告各個變數及方法;然後在.cpp執行檔案中才能方便的使用。

資料成員的申明與定義都是放在.h檔案的類定義內部。對於資料型別,關鍵問題是其初始化要放在什麼地方進行。

對於只含有static限定符的資料成員,它的初始化要放在.cpp檔案中。因為它是所有類物件共有的,因此必須對它做合適的初始化。

對於只含有const限定符的資料成員,它的初始化只能在建構函式的初始化列表中完成。因為它是一經初始化就不能重新賦值,因此它也必須進行合適的初始化。

對於既含有static限定符,又含有const限定符的資料成員,它的初始化和定義同時進行。它也是必須進行合適的初始化

對於既沒有static限定符,又沒有const限定符的資料成員,它的值只針對本物件可以隨意修改,因此我們並不在意它的初始化什麼時候進行。

對於自定義型別,包括類(class)和結構體(struct),它們的定義都是放在.h檔案中。其成員的申明和定義就比較複雜了,不過看上邊的**,還是比較清晰的。

函式成員

函式成員無論是否帶有static限定符,其申明都放在.h檔案的類定義內部。

對於要inline的函式成員其定義放在.h檔案;其他函式的實現都放在.cpp檔案中。

h和 cpp檔案的區別

c 2009 11 21 22 10 關於標頭檔案和原始檔的分別 首先,我們可以將所有東西都放在乙個.cpp檔案內.然後編譯器就將這個.cpp編譯成.obj,obj是什麼東西?就是編譯單元了.乙個程式,可以由乙個編譯單元組成,也可以有多個編譯單元組成.如果你不想讓你的源 變得很難閱讀的話,就請使用多...

h和 cpp檔案的區別

原文 關於標頭檔案和原始檔的分別 首先,我們可以將所有東西都放在乙個.cpp檔案內.然後編譯器就將這個.cpp編譯成.obj,obj是什麼東西?就是編譯單元了.乙個程式,可以由乙個編譯單元組成,也可以有多個編譯單元組成.如果你不想讓你的源 變得很難閱讀的話,就請使用多個編譯單元吧.乙個函式不能放到兩...

h和 cpp檔案的區別

首先,我們可以將所有東西都放在乙個.cpp檔案內.然後編譯器就將這個.cpp編譯成.obj,obj是什麼東西?就是編譯單元了.乙個程式,可以由乙個編譯單元組成,也可以有多個編譯單元組成.如果你不想讓你的源 變得很難閱讀的話,就請使用多個編譯單元吧.乙個函式不能放到兩個編譯單元裡面,但兩個以上 就可以...