![]() |
![]() |
![]() |
![]() |
![]() |
|
Next, you must substitute the appropriate parameter names wherever
black bars have appeared in Segment 768, and you must provide a
specializing argument wherever another template class name is used.
For example, whenever you refer to the header class inside the
definition of the link class, you must provide an argument
surrounded by brackets, thus specializing the header template to
the same class as that to which the link is specialized.
templateclass link { friend class header ; private: link *next_link_pointer; link_parameter *element_pointer; link (link_parameter *e, link *l) { element_pointer = e; next_link_pointer = l; } };
Thus, the purpose of the template parameters is to set up slotlike
locations into which the template mechanism eventually places instantiating
symbols. In the railroad-carlist example, link_parameter is
destined to be replaced by railroad_car when the template class is
put to use.