12.2 Introduction to Polymorphism: Polymorphic Video Game
Suppose we have to design a video game that manipulates objects of many different types, including objects of classes Martian
, Venutian
, Plutonian
, SpaceShip
and LaserBeam
. Imagine that each of these classes inherits from the common base class SpaceObject
, which contains the member function draw
. Each derived class implements this function in a manner appropriate for that class. A screen-manager program maintains a container (e.g., a vector
) that holds SpaceObject
pointers to objects of the various classes. To refresh the screen, the screen manager periodically sends each object the same message—namely, draw
. Each type of object responds in a unique way. For example, a Martian
object ...
Get C++ How to Program, 10/e now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.