John Hanna's "Templates and Inheritance"

Read this article, which discusses generic programming and the use of templates.