Home Segments Index Top Previous Next

682: Mainline

Suppose, for the sake of illustration, that you decide to divide the analyze_train program into three files:

trains.cxx              containers              cars 
*--------------*        *--------------*        *--------------* 
| main         |        | box          |        | railroad_car | 
|              |        | cylinder     |        | box_car      | 
|              |        |              |        | tank_car     | 
|              |        |              |        | engine       | 
|              |        |              |        | caboose      | 
*--------------*        *--------------*        *--------------* 

When the analyze_train program is so divided, you could use #include declarations to incorporate the text in the containers file and the cars file back into the trains.cxx file:

#include "containers" 
#include "cars" 
... 

When the C++ compiler sees such #include declarations, it suspends its examination of the current file temporarily and pretends that the text of the included file is actually in the current file at that place:

                          containers              cars 
                          *-------------*         *-------------* 
                          |             | --*     |             | --*   
                          |             |   |     |             |   | 
                          *-------------*   |     *-------------*   | 
                                            |                       | 
trains.cxx                                  |                       | 
*--------------------------*                |                       | 
| #include "containers"  <------------------*                       | 
| #include "cars"     <---------------------------------------------* 
|                          |         
| ...                      |         
*--------------------------*