Home Segments Index Top Previous Next

772: Mainline

Now, you can have your program create a railroad_car-specific list using the generic header template class. In Chapter 47, the analyze_train program used a statement that defined the train variable to belong to the single-purpose header class:

header train; 

Next, you can replace that statement with one that defines the train variable to belong to a parameterized version of the generic header class:

header train; 

This expression causes the header template class to be instantiated so as to deal with objects belonging to the railroad_car class.

Next, the header template class activates the link template class, because the header template class contains embedded link<header_parameter> expressions. Thus, the link class is also instantiated so as to deal with railroad_car objects.

Note, that these instantiations do not prevent your program from building other lists of railroad_car objects, nor does it prevent your program from building lists of other kinds of objects. You can write programs that construct as many lists as you like for as many object types as you like.