Question file for benchmark/accuracy/syntax/inherit 1. The classes Mover and Sayer both appear at the top of a class hierarchy. Compare and contrast how these two are represented in the output. Answer: Mover is a virtual class. First, it has a virtual function (move()). Second, it dominates a class hierarchy, so it is sub-classed using the virtual keyword by all its child classes (Walker, Swimmer, and Flier). 2. In main(), the Flier class is instantiated using an object pointer (and the new keyword), while the ObedientSayer class is instantiated as a variable. Compare and contrast how these two styles of instantiation are represented in the output. 3. How many classes does Duck inherit from? Answer: Directly, two, Avian and Quacker. Indirectly, many more and depends on how you count. Avian Swimmer Flier Biped Mover (three times, virtually) Quacker NoisySayer Sayer 4. The ObedientSayer class has two friend funtions, pet and squeeze. Explain how pet is represented in the parser output. In particular, comment on how the uses of variables in the function body are resolved.