第 1 章 文件結(jié)構(gòu)
每個(gè) C++/C 程序通常分為兩個(gè)文件。一個(gè)文件用于保存程序的聲明( declaration ),稱(chēng)為頭文件。另一個(gè)文件用于保存程序的實(shí)現(xiàn)( implementation ),稱(chēng)為定義( definition )文件。
C++/C 程序的頭文件以“ .h ”為后綴, C 程序的定義文件以“ .c ”為后綴, C++ 程序的定義文件通常以“ .cpp ”為后綴(也有一些系統(tǒng)以“ .cc ”或“ .cxx ”為后綴)。
1.1 版權(quán)和版本的聲明
版權(quán)和版本的聲明位于頭文件和定義文件的開(kāi)頭(參見(jiàn)示例 1-1 ),主要內(nèi)容有:
( 1 )版權(quán)信息。
( 2 )文件名稱(chēng),標(biāo)識(shí)符,摘要。
( 3 )當(dāng)前版本號(hào),作者 / 修改者,完成日期。
( 4 )版本歷史信息。
/*
* Copyright (c) 2001,上海貝爾有限公司網(wǎng)絡(luò)應(yīng)用事業(yè)部
* All rights reserved.
*
* 文件名稱(chēng): filename.h
* 文件標(biāo)識(shí): 見(jiàn)配置管理計(jì)劃書(shū)
* 摘 要: 簡(jiǎn)要描述本文件的內(nèi)容
*
* 當(dāng)前版本: 1.1
* 作 者: 輸入作者(或修改者)名字
* 完成日期: 2001年7月20日
*
* 取代版本 : 1.0
* 原作者 : 輸入原作者(或修改者)名字
* 完成日期: 2001年5月10日
*/
示例 1-1 版權(quán)和版本的聲明
1.2 頭文件的結(jié)構(gòu)
頭文件由三部分內(nèi)容組成:
( 1 )頭文件開(kāi)頭處的版權(quán)和版本聲明(參見(jiàn)示例 1-1 )。
( 2 )預(yù)處理塊。
( 3 )函數(shù)和類(lèi)結(jié)構(gòu)聲明等。
假設(shè)頭文件名稱(chēng)為 graphics.h,頭文件的結(jié)構(gòu)參 見(jiàn)示例 1-2 。
l 【規(guī)則 1-2-1 】 為了防止頭文件被重復(fù)引用,應(yīng)當(dāng)用 ifndef/define/endif 結(jié)構(gòu)產(chǎn)生預(yù)處理塊。
l 【規(guī)則 1-2-2 】 用 #include 〈 filename.h〉 格式來(lái)引用標(biāo)準(zhǔn)庫(kù)的頭文件(編譯器將從標(biāo)準(zhǔn)庫(kù)目錄開(kāi)始搜索)。
l 【規(guī)則 1-2-3 】 用 #include “filename.h” 格式來(lái)引用非標(biāo)準(zhǔn)庫(kù)的頭文件(編譯器將從用戶的工作目錄開(kāi)始搜索)。
2 【建議 1-2-1 】 頭文件中只存放“聲明”而不存放“定義”
在 C++ 語(yǔ)法中,類(lèi)的成員函數(shù)可以在聲明的同時(shí)被定義,并且自動(dòng)成為內(nèi)聯(lián)函數(shù)。這雖然會(huì)帶來(lái)書(shū)寫(xiě)上的方便,但卻造成了風(fēng)格不一致,弊大于利。建議將成員函數(shù)的定義與聲明分開(kāi),不論該函數(shù)體有多么小。
每個(gè) C++/C 程序通常分為兩個(gè)文件。一個(gè)文件用于保存程序的聲明( declaration ),稱(chēng)為頭文件。另一個(gè)文件用于保存程序的實(shí)現(xiàn)( implementation ),稱(chēng)為定義( definition )文件。
C++/C 程序的頭文件以“ .h ”為后綴, C 程序的定義文件以“ .c ”為后綴, C++ 程序的定義文件通常以“ .cpp ”為后綴(也有一些系統(tǒng)以“ .cc ”或“ .cxx ”為后綴)。
1.1 版權(quán)和版本的聲明
版權(quán)和版本的聲明位于頭文件和定義文件的開(kāi)頭(參見(jiàn)示例 1-1 ),主要內(nèi)容有:
( 1 )版權(quán)信息。
( 2 )文件名稱(chēng),標(biāo)識(shí)符,摘要。
( 3 )當(dāng)前版本號(hào),作者 / 修改者,完成日期。
( 4 )版本歷史信息。
/*
* Copyright (c) 2001,上海貝爾有限公司網(wǎng)絡(luò)應(yīng)用事業(yè)部
* All rights reserved.
*
* 文件名稱(chēng): filename.h
* 文件標(biāo)識(shí): 見(jiàn)配置管理計(jì)劃書(shū)
* 摘 要: 簡(jiǎn)要描述本文件的內(nèi)容
*
* 當(dāng)前版本: 1.1
* 作 者: 輸入作者(或修改者)名字
* 完成日期: 2001年7月20日
*
* 取代版本 : 1.0
* 原作者 : 輸入原作者(或修改者)名字
* 完成日期: 2001年5月10日
*/
示例 1-1 版權(quán)和版本的聲明
1.2 頭文件的結(jié)構(gòu)
頭文件由三部分內(nèi)容組成:
( 1 )頭文件開(kāi)頭處的版權(quán)和版本聲明(參見(jiàn)示例 1-1 )。
( 2 )預(yù)處理塊。
( 3 )函數(shù)和類(lèi)結(jié)構(gòu)聲明等。
假設(shè)頭文件名稱(chēng)為 graphics.h,頭文件的結(jié)構(gòu)參 見(jiàn)示例 1-2 。
l 【規(guī)則 1-2-1 】 為了防止頭文件被重復(fù)引用,應(yīng)當(dāng)用 ifndef/define/endif 結(jié)構(gòu)產(chǎn)生預(yù)處理塊。
l 【規(guī)則 1-2-2 】 用 #include 〈 filename.h〉 格式來(lái)引用標(biāo)準(zhǔn)庫(kù)的頭文件(編譯器將從標(biāo)準(zhǔn)庫(kù)目錄開(kāi)始搜索)。
l 【規(guī)則 1-2-3 】 用 #include “filename.h” 格式來(lái)引用非標(biāo)準(zhǔn)庫(kù)的頭文件(編譯器將從用戶的工作目錄開(kāi)始搜索)。
2 【建議 1-2-1 】 頭文件中只存放“聲明”而不存放“定義”
在 C++ 語(yǔ)法中,類(lèi)的成員函數(shù)可以在聲明的同時(shí)被定義,并且自動(dòng)成為內(nèi)聯(lián)函數(shù)。這雖然會(huì)帶來(lái)書(shū)寫(xiě)上的方便,但卻造成了風(fēng)格不一致,弊大于利。建議將成員函數(shù)的定義與聲明分開(kāi),不論該函數(shù)體有多么小。