這個方法是讓你不要在.h檔裡include了一堆其他的.h檔, 好處是當其.h修改時, 並不會影響到太多的c.pp須要重新compile, 某方面也加快了build project的速度, 其最大的好處是, .h檔不會太雜亂.
作法如下(參考http://www-subatech.in2p3.fr/~photons/subatech/soft/carnac/CPP-INC-1.shtml), 其實大家都知道, 但很少人做到..
Suppose you want to define a new class B that uses objects of class A.
- B only uses references or pointers to A. Use forward declaration then : you don't need to include <A.h>. This will in turn speed a little bit the compilation.
class A ; class B { private: A* fPtrA ; public: void mymethod(const& A) const ; } ;
- B derives from A or B explicitely (or implicitely) uses objects of class A. You then need to include <A.h>
#include <A.h> class B : public A { } ; class C { private: A fA ; public: void mymethod(A par) ; }
沒有留言:
張貼留言