Can someone explain this to me once and for all? I keep getting different answers everywhere I look. What is the correct way to separate the class declaration from it's member functions? The way I am doing it now is that the declaration and all of the member functions are in a .h file. Supposedly, the declaration should be in a .h and the member functions should be in a .C file? So in that case, would you include your .h file in that .C file? Then what? do you include the .C file in whatever file with the main function is or do you compile it all together at the command line. I'm using g++ if that makes a difference.