12.1. Why Is RTTI Necessary?
Suppose a class library contains an Investment class with a virtual purchase() function.
class Investment { // Library class private: . . . public: virtual float purchase(); . . . };
Our application requires Stock and Land objects, so we create the following classes as subtypes of Investment to reuse code from the class library.
class Stock : public Investment { // our class public: float purchase(); // override virtual purchase() virtual float dividend() const; // new virtual function }; class Land : public Investment { // our class public: float purchase(); // override virtual purchase() };
The Stock class and the Land class override purchase() from the Investment base class. Consequently, calls to purchase() ...
Get Navigating C++ and Object-Oriented Design 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.