http://www.learncpp.com/cpp-tutorial/19-header-files/
It mentions the following as another solution to “forward declaration”:
A header file only has to be written once, and it can be included in as many files as needed. This also helps with maintenance by minimizing the number of changes that need to be made if a function prototype ever changes (eg. by adding a new parameter).
But, cannot this also be made with “forward declaration”? Since we are defining the function int add(int x, int y) for example in “add.cpp”, and using this function in “main.cpp” by typing:
int add(int x, int y);
?
Thanks.
That is certainly possible. But for a realistically-sized program, there will be a large number of functions that a large number of other files will need to declare. If you put a forward declaration in every file that needs to access another function, you have a multitude of problems: