In This Chapter
Passing data to functions
Naming functions with different arguments
Creating function prototypes
Working with include files
The programs developed in prior chapters have been small enough that they can be easily read as a single unit. Larger, real-world programs are often many thousands if not millions of lines long. Developers need to break up these monster programs into smaller chunks that are easier to conceive, describe, develop, and maintain.
C++ allows programmers to divide their code into exactly such chunks known as functions. A function is a small block of code that can be executed as a single entity. This allows the programmer to divide her program into a number of such entities, each solving some well-defined subset of the problem of the overall program. Functions are themselves broken up into smaller, more detailed functions in a pyramid of ever smaller, more detailed solutions that make up the complete program.
This divide-and-conquer approach reduces the complexity of creating a working program of significant size to something achievable by a mere mortal.
Functions are best understood by example. This section starts with the example program
FunctionDemo, which simplifies the
NestedDemo program I discussed in Chapter 5 by defining a function to contain part of the logic. Then this section explains how the function is defined and how it is invoked, using
FunctionDemo as a pattern for understanding ...