我有三個文件,add.h,add.cpp和TEST.CPP創建和C++
add.h創建一個類的標題使用標題,無非是骨架實施後。
add.cpp包含在add.h
TEST.CPP所列的類的實際代碼中包含的主要方法,並在附加聲明的類的實例,並使用它的一些方法。
但是,我無法編譯它。在add.h,我的#define防止頭的多次寫入,並且在add.cpp和TEST.CPP我已經add.h包括在內,但是當我嘗試使用線
g++ test.cpp -o test
予編譯在add.h中得到關於未定義的類對象和方法引用的錯誤。我一直在搜索如何編譯或運行這個谷歌,但迄今沒有幫助,StackOverflow可以幫助我嗎?
編輯:對不起,我應該也包含了我曾嘗試G ++ TEST.CPP add.cpp -o測試,它也不能工作,產生相同而導致的錯誤。
如果你的類是模板化的'G ++'並不一定,如果你想保持真實的'encapsulation'玩,很漂亮。如果是這樣的話,你有兩個選擇:1定義頭文件中的所有內容(不容易閱讀)或者兩個,將你的聲明保存在你的頭文件中,然後在結尾處使用(在'#endif'之前) '#include「add.cpp」'並從.cpp文件中刪除'#include「add.h」'。然後嘗試重新編譯test.cpp。 – RageD 2011-04-02 20:37:13
就是這樣。感謝您的解決方案。我創建這個只是爲了解決頭文件和模塊化代碼問題,但是我希望它看起來更復雜一點。 – Nicholas 2011-04-02 20:43:23