It's only a little messy. I always preview my posts. Sometimes the site adds extra blank lines, double-spacing things, which is annoying.

2. Usually if the member of the base is meant to be manipulated in the derived class you would ensure that you aren't "shadowing" names when writing the derived class. However, even if the names are the same, they are distinguishable in the way the question shows.

Also, we still need laserlight to tell us what I got wrong! For instance, maybe there is some case where final is reasonable for a virtual function in the ultimate base class. I can't see why, though.