riotburn 0 Junior Poster in Training

I am trying to create my first library and I guess the dynamic library is the best suited, though I don't know the difference between the two. I am following this tutorial: http://msdn.microsoft.com/en-us/library/ms235636.aspx

My questions are:

1. So pretty much I make my header file and a respective cpp file for each class or one cpp file for all the classes?

2. This static __declspec(dllexport) statement only has to be placed in front of functions or also in front of variable declarations, ie: double a = 0;

3. If I want to make a constant variable that is usable anywhere in the program, in this case Pi, how do I add this to the library?