In This Chapter
Breaking programs down into functions
Writing and using functions
Returning values from a function
Passing values to a function
Providing a function prototype declaration
The programs you see prior to this chapter are small enough and simple enough to write in one sequence of instructions. Sure, there have been branches using
if statements and looping with
for loops, but the entire program was in one place for all to see.
Real-world programs aren't usually that way. Programs that are big enough to deal with the complexities of the real world are generally too large to write in one single block of C++ instructions. Real-world programs are broken into modules called functions in C++. This chapter introduces you to the wonderful world of functions.
Even the Tire Changing Program from Chapter 1 was too big to write in a single block. I only tackled the problem of removing the lug nuts. I didn't even touch the problem of jacking up the car, removing the wheel, getting the spare out, and so on.
In fact, suppose that I were to take the lug nut removing code and put it into a module that I call something fiendishly clever, like RemoveLugNuts(). (I add the parentheses to follow C++ grammar.) I could bundle up similar modules for the other functions.
The resulting top-level module for changing a tire might look like the following:
1. Grab spare tire; 2. RaiseCar(); 3. RemoveLugNuts(); // we know what ...