|
From: DU V. DE V. F. G. P. <fra...@ca...> - 2007-04-05 13:59:33
|
>Non necessarily. Let's say we have: >- a class Foo declared in foo.hpp and implemented in foo.cpp; >- a class Bar that stores, say, a pointer to Foo. In bar.hpp, we > only need a forward declaration of Foo. In bar.cpp (where the > Foo object is manipulated) we need to include foo.hpp. >- a class Baz which takes a pointer to Foo as argument, passes it > to a Bar, and stores (and possibly manipulates) the resulting Bar. >Since Baz is not going to use Foo directly, baz.cpp does not need to >include its definition---the forward declaration in bar.hpp is >enough---and can be compiled successfully without including foo.hpp. Ok you win me over, thanks for this detailled explanation. Regards, Fran=E7ois=20 |