Some books say it is unnecessary to add const to non-pointer/reference/array parameters, and advise learning programmers not to do so. But I like functino-headers ...
I have a class that is essentially a vector of objects, so I am using private (implementation) inheritance. This is nice because I can simply promote useful vector operations like size() and empty().