Multiple Classes in DLL file
<p>what I've got here is pretty much a dumb and noobie question, but I just can`t find an answer on the web.
When I want to create a DLL project (out of an existing c++ project), I read that I need to implement the following lines in the beginning of the .h files:</p>

<pre><code>#ifdef _EXPORTING
#define CLASS_DECLSPEC    __declspec(dllexport)
#else
#define CLASS_DECLSPEC    __declspec(dllimport)
#endif
</code></pre>

<p>I looked at the example in the MSDN:</p>

<pre><code>// MathFuncsDll.h
#ifdef MATHFUNCSDLL_EXPORTS
#define MATHFUNCSDLL_API __declspec(dllexport) 
#else
#define MATHFUNCSDLL_API __declspec(dllimport) 
#endif
</code></pre>

<p>Now I want to understand, do I need to change the "_EXPORTING" and the "CLASS_DECLSPEC" for every new class I make?
For example if I'd create a class named "foo" within the same project as "MathFuncsDll.h" I'd need to put the following lines at the start of the .h file:</p>

<pre><code>// FooDll.h
#ifdef FOO_EXPORTS
#define FOO_API __declspec(dllexport) 
#else
#define FOO_API __declspec(dllimport) 
#endif
</code></pre>

<p>Or is some line is the same in all .h files of the project?</p>

<p>And another thing, if I use a <code>namespace</code> to reference the whole dll as one and extract the classes from it, do I need to put the <code>using namespace *NAME*</code> in every .h file?  </p>