于是我采用了單工程單cpp的結(jié)構(gòu),就是一個(gè)工程只有一個(gè)cpp文件,放 main(),其他的部分都是頭文件,聲明和實(shí)現(xiàn)放在一起——其實(shí)這是違反c++規(guī)范的,c++要求函數(shù)必須聲明原型,實(shí)際上,我覺得這很羅嗦(我這是典型的c后遺癥,以前用tc時(shí)為了不聲明原型,把函數(shù)都放到main()前面),聲明一下原型,我認(rèn)為這和設(shè)定密碼需要確認(rèn)一個(gè)道理。由于使用的ide環(huán)境,把聲明單獨(dú)集中起來(lái)作為一個(gè)文件已經(jīng)沒有必要——classview窗口很好用,就因?yàn)槿绱?,我?guī)缀鯊膩?lái)不去看類的聲明文件。除非你提供的是一個(gè)庫(kù),在你的工程中單獨(dú)的聲明文件已經(jīng)不是必須的了。當(dāng)然,這里的前提是從一個(gè)空的工程建立你的項(xiàng)目。如果你使用了appwizard,我很難想象不使用 classwizard的。因?yàn)檫@時(shí)文檔的結(jié)構(gòu)已經(jīng)確定了,你所做的實(shí)際上是在修修補(bǔ)補(bǔ)。
什么人適合讀這些文章
l 剛開始從c過(guò)渡到c++的人,看完這些后,會(huì)體會(huì)到c++的新特性。
l 和我一樣研讀那本黃皮書的人,希望看完之后能更好的理解和學(xué)習(xí)。
l 從未編寫過(guò)超過(guò)1000行代碼程序的人,這樣我們才能達(dá)到共鳴。因?yàn)槲覀儚膩?lái)不使用工具和庫(kù)文件,做的事都是在編程老手看來(lái)很蠢的事。
一些約定
假定你使用的是vc6,先建立一個(gè)win32 console application的empty project。后面將陸續(xù)往這個(gè)工程中添加文件(就是將后面介紹的每一個(gè)文件都添加進(jìn)去,不然到時(shí)候找不到xx.h不要埋怨),每一個(gè)#ifndef xx_h~#endif和其中的部分為一個(gè)頭文件,文件名為xx.h。例如:
#ifndef list_h
#define list_h
……
#endif
這一大塊為一個(gè)文件,文件名為list.h
什么人適合讀這些文章
l 剛開始從c過(guò)渡到c++的人,看完這些后,會(huì)體會(huì)到c++的新特性。
l 和我一樣研讀那本黃皮書的人,希望看完之后能更好的理解和學(xué)習(xí)。
l 從未編寫過(guò)超過(guò)1000行代碼程序的人,這樣我們才能達(dá)到共鳴。因?yàn)槲覀儚膩?lái)不使用工具和庫(kù)文件,做的事都是在編程老手看來(lái)很蠢的事。
一些約定
假定你使用的是vc6,先建立一個(gè)win32 console application的empty project。后面將陸續(xù)往這個(gè)工程中添加文件(就是將后面介紹的每一個(gè)文件都添加進(jìn)去,不然到時(shí)候找不到xx.h不要埋怨),每一個(gè)#ifndef xx_h~#endif和其中的部分為一個(gè)頭文件,文件名為xx.h。例如:
#ifndef list_h
#define list_h
……
#endif
這一大塊為一個(gè)文件,文件名為list.h

