于是我采用了單工程單cpp的結(jié)構(gòu),就是一個工程只有一個cpp文件,放main(),其他的部分都是頭文件,聲明和實現(xiàn)放在一起——其實這是違反C++規(guī)范的,C++要求函數(shù)必須聲明原型,實際上,我覺得這很羅嗦(我這是典型的C后遺癥,以前用TC時為了不聲明原型,把函數(shù)都放到main()前面),聲明一下原型,我認(rèn)為這和設(shè)定密碼需要確認(rèn)一個道理。由于使用的IDE環(huán)境,把聲明單獨集中起來作為一個文件已經(jīng)沒有必要——ClassView窗口很好用,就因為如此,我?guī)缀鯊膩聿蝗タ搭惖穆暶魑募3悄闾峁┑氖且粋庫,在你的工程中單獨的聲明文件已經(jīng)不是必須的了。當(dāng)然,這里的前提是從一個空的工程建立你的項目。如果你使用了AppWizard,我很難想象不使用ClassWizard的。因為這時文檔的結(jié)構(gòu)已經(jīng)確定了,你所做的實際上是在修修補補。
什么人適合讀這些文章
l 剛開始從C過渡到C++的人,看完這些后,會體會到C++的新特性。
l 和我一樣研讀那本黃皮書的人,希望看完之后能更好的理解和學(xué)習(xí)。
l 從未編寫過超過1000行代碼程序的人,這樣我們才能達(dá)到共鳴。因為我們從來不使用工具和庫文件,做的事都是在編程老手看來很蠢的事。
一些約定 假定你使用的是VC6,先建立一個Win32 Console Application的empty project。后面將陸續(xù)往這個工程中添加文件(就是將后面介紹的每一個文件都添加進(jìn)去,不然到時候找不到xx.h不要埋怨),每一個#ifndef xx_H~#endif和其中的部分為一個頭文件,文件名為xx.h。例如:
#ifndef List_H
#define List_H
……
#endif
這一大塊為一個文件,文件名為List.h