I am working on a small game using C++, and I used Eclipse CDT’s class generator. It created a .h file with the class definitions and a .cpp file that included body-less methods for said class.
So if I followed the template, I’d have a .cpp file filled with the methods declarations, and a .cpp file with method bodies. However, I can’t include a .cpp file within another.
So what is the convention in C++ with classes and include files? What I did was fill in the method bodies right under the class declaration in the .h file, and deleted the .cpp file.
You don’t have to include the .cpp file. Including the .h file is all it takes. .h means header, ie, all it should have is function / object definitions. The actual implementations go in the .cpp file of the same name. The linker will deal with straightening it out for you.
The header file contains declarations (also known as prototype). Inclusion of the header lets the program know “I declare something that looks like this exists”.
The user of headers saves us the effort of declaring methods all over the place in our code files – we just do it once, then import the file.
The .c/.cpp/.cc file includes the definition – which tells the program what the function does.
You do not have to “include” .c files because that’s what the compiler does – it compiles all your .c files into machine code.