Thinking in CPP Programming; Volume 2; Chapter 5; Template